Les meilleurs sources pour ExcelConsultez toutes les FAQ

Nombre d'auteurs : 10, nombre de questions : 65, dernière mise à jour : 2 septembre 2018 

 
OuvrirSommaireLes images

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.

Vba
Sélectionnez

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  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
Créé le 15 mai 2007  par Cafeine

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

Créé le 15 mai 2007  par Arkham46

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.

Créé le 15 mai 2007  par SilkyRoad

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.

Créé le 15 mai 2007  par SilkyRoad

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.

Créé le 15 mai 2007  par SilkyRoad

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.

Créé le 15 mai 2007  par SilkyRoad

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.

Créé le 15 mai 2007  par SilkyRoad

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

Vba
Sélectionnez

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
Créé le 15 mai 2007  par SilkyRoad
  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2007 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.