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
- 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