Les meilleurs sources pour Excel

Les meilleurs sources pour ExcelConsultez toutes les FAQ
Nombre d'auteurs : 10, nombre de questions : 65, dernière mise à jour : 26 mars 2022
Sommaire→Les images- Exporter une plage de cellules en image GIF
- Extraire les Données Exif des photos
- Manipuler une image grâce à la bibliothèque Windows Image Acquisition
- Manipuler une Webcam grâce à la bibliothèque Windows Image Acquisition
- Manipuler le contrôle WIA Common Dialog
- Visualisation et Stockage d'images gif animées dans un classeur Excel
- Créez votre trombinoscope sous Excel
- Afficher une image avec l'apercu des images et des télécopies Windows
Ce code permet de sauvegarder sous forme de fichier GIF, une plage de cellules d'une feuille Excel.
L'astuce consiste à utiliser un objet graphique temporaire, car il est très facile d'exporter une image à partir d'un Chart.
Option Explicit
Public Sub SaveRangeAsImage()
Dim r As Range
Dim x As Integer, y As Integer
Dim varFullPath As Variant
Dim Graph As String
' selection de la plage par une InputBox
Set r = Application.InputBox("Sélectionnez la plage à exporter", _
"Export Image", Selection.AddressLocal, Type:=8)
r.Select
' copie de la plage en format image grâce à .CopyPicture
Selection.CopyPicture Appearance:=xlScreen, Format:=xlBitmap
x = Selection.Width
y = Selection.Height
' on utilise l'objet Chart pour sa facilité d'export
' création du graphique
Workbooks.Add (1)
ActiveSheet.Name = "enGIF"
Charts.Add
ActiveChart.ChartType = xl3DArea
ActiveChart.SetSourceData r
ActiveChart.Location xlLocationAsObject, "enGIF"
' le graph n'est là que comme réceptacle de l'image, on le vide avec .ClearContents
ActiveChart.ChartArea.ClearContents
' on colle l'image qui réside dans le presse papier
ActiveChart.Paste
' redimensionnement
' on récupére le nom du graph de la collection Shapes
Graph = Mid(ActiveChart.Name, Len(ActiveSheet.Name) + 1)
' on effectue un redimensionnement
ActiveSheet.Shapes(Graph).ScaleWidth x / ActiveChart.ChartArea.Width, _
msoFalse, msoScaleFromTopLeft
ActiveSheet.Shapes(Graph).ScaleHeight y / ActiveChart.ChartArea.Height, _
msoFalse, msoScaleFromTopLeft
' export
varFullPath = Application.GetSaveAsFilename("C:\Temp\export-" & Format(Now, "yyyymmddhhnn") & ".gif", _
"Fichiers GIF (*.gif), *.gif")
ActiveChart.Export varFullPath, "GIF"
ActiveChart.Pictures(1).Delete
ActiveWorkbook.Close False
End Sub
Un module de classe pour lire les données Exif des photos à l'aide de la librairie gdi+ de Microsoft.
Le fichier Excel du Zip contient un formulaire qui affiche une mosaïque de miniatures d'un répertoire.
Cela permet de se rendre compte de la rapidité d'extraction des miniatures intégrées. En cliquant sur une miniature on affiche
quelques unes de ses données Exif (date cliché, description, modèle d'APN) dans le cadre de droite (la description est modifiable
et remplace le nom de fichier dans la mosaïque et l'extraction). Le cadre d'export en bas en droite permet de générer une
liste des photos et de données Exif dans la feuille de calcul. Deux cases à cocher demandent l'affichage des images qui n'ont
pas de miniature Exif intégrée. Par contre cela ralenti évidemment l'exécution et occupe plus de mémoire.
N'oubliez pas d'ajouter la librairie gdi+ dans le même répertoire que le fichier Excel.
Testé sous XL2000,XL2002 Lien vers la libraire en téléchargement sur Microsoft.com.
Le tutoriel associé.
Téléchargement : Exemple
Un Exemple de classeur pour manipuler une image.
Choisir une image sur le PC et l'afficher dans un Userform
Appliquer une rotation à 90 , 180 ou 270°
Appliquer un retournement Vertical ou Horizontal
Décomposer les frames d'une image(par exemple d'un GIF animé)
Créer une miniature dans l'image (Stamp)
Afficher les propriétés détaillées de l'image
Sauvegarder l'image modifiée.
Toutes les procédures ont été Testées avec XL2000,XL2002 et WIA 2.0.
Tutoriel: Utiliser la bibliothèquee Windows Image Acquisition en VBA.
Téléchargement : Exemple
Un Exemple de classeur pour manipuler une Webcam grâce à la bibliothèque Windows Image Acquisition.
Lister les Webcam connectées
Visualiser les images de la Webcam
Mettre la caméra en pause
Afficher quelques informations générales
Effectuer une capture d'image
Enregistrer l'image capturée sur le PC.
Toutes les procédures ont été Testées avec Excel2000,Excel2002 et WIA 2.0.
Tutoriel: Utiliser la bibliothèque Windows Image Acquisition en VBA.
Téléchargement : Exemple
Un Exemple de classeur pour manipuler pour utiliser le contrôle WIA Common Dialog de la librairie Windows Image Acquisition.
Utilisation de l'assistant impression photos
Utilisation de l'assistant acquisition scanneur-appareil photos
Utilisation de l'assistant acquisition images
Toutes les procédures ont été Testées avec Excel2000, WIA 2.0
Tutoriel: Utiliser la librairie Windows Image Acquisition en VBA.
Téléchargement : Exemple
Un Exemple de code permettant d'afficher une image GIF et de la Stocker dans une feuille de calcul.
Testé sous XL97,XL2000,XL2002 (Windows 2000 et XP)
Tutoriel: Stocker et visualiser des images GIF dans Excel.
Téléchargement : Exemple
Un Exemple de code permettant de créer un trombinoscope sous Excel.
Testé sous XL97,XL2000,XL2002 (Windows 2000 et XP)
Tutoriel: Créer un organigramme et un trombinoscope dans Excel.
Téléchargement : Exemple
Cette procédure permet de forcer l'affichage d'une image dans "l'apercu des images et des télécopies Windows".
Option Explicit
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Sub afficherImage_ApercuWindows()
'Testé avec Excel2002 et WinXP
'Force l'affichage de l'image avec "L'aperçu des images et des télécopies windows".
Dim Img As String
Img = "C:\Documents and Settings\mimi\dossier\NomImage.jpg"
ShellExecute 0, "open", "rundll32.exe", "C:\WINDOWS\System32\shimgvw.dll,ImageView_Fullscreen " & Img, 0, 1
End Sub


