Afficher une image dans une cellule et imgbox [Résolu]

-
Bonjour,
Je souhaiterai à l'aide d'une dialogbox afficher une image en meme temps dans une imagebox(picturebox) d'un userform et en meme temps dans une cellule d'une feuille excel.

j'arrive à l'afficher dans la feuille excel mais pas dans la picturebox, il me manque donc la procédure pour l'afficher dans la picturebox pouvez vous m'aider ?

voici mon code:
Sub BoutPath_Click()

    With Application.FileDialog(msoFileDialogFilePicker)
        .AllowMultiSelect = False
        .ButtonName = "Submit"
        .Title = "Select an image file"
        .Filters.Clear
        .Filters.Add "JPG", "*.JPG"
        .Filters.Add "JPEG File Interchange Format", "*.JPEG"
        .Filters.Add "Graphics Interchange Format", "*.GIF"
        .Filters.Add "Portable Network Graphics", "*.PNG"
        .Filters.Add "Tag Image File Format", "*.TIFF"
        .Filters.Add "All Pictures", "*.*"

        If .Show = -1 Then
            Dim img As Object
            Dim img2 As Picture
            Set img = ActiveSheet.Pictures.Insert(.SelectedItems(1))
        
        
            
            'Scale image size
            'img.ShapeRange.ScaleWidth 0.75, msoFalse, msoScaleFromTopLeft
            'img.ShapeRange.ScaleHeight 0.75, msoFalse, msoScaleFromTopLeft

            'Position Image
            img.Left = 40
            img.Top = 65

            'Set image sizes in points (72 point per inch)
            img.Width = 180
            img.Height = 220
            
            


        Else
            MsgBox ("Cancelled.")
        End If


Edit : Ajout des balises de code...
Afficher la suite 

Votre réponse

3 réponses

Messages postés
23651
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
19 décembre 2018
0
Merci
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Commenter la réponse de jordane45
Messages postés
23651
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
19 décembre 2018
0
Merci
Bonjour,


Dim pathImg As String
    pathImg = "c:\tmp\faq-logo.jpg"
     If Dir(pathImg) <> "" Then
      UserForm1.Image1.Picture = LoadPicture(pathImg)
     End If






N'hésites pas à consulter ce site :
http://silkyroad.developpez.com/VBA/ControlesUserForm/#LII-K

.
Merci beaucoup pour la réponse super-rapide, seulement je prends l'image à partir d'une diagbox donc je n'ai pas de chemin de fichier specifique, existe t'il un moyen de placer une image depuis une diagbox dans une cellule d'un classeur et de l'afficher dans la picturebox ?

exemple :

je cherche une image sur mon disque local, je désire qu'elle vienne s'afficher en même temps sur une cellule de mon classeur marqué "carte" dans la cellule b5 afin de la sauvegarder et dans "image1" de mon userform1 pour l'affichage

a savoir que l'opération peut se renouveler avec une autre image et remplacer la précédente.

merci encore pour les réponses
x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
Commenter la réponse de jordane45
Messages postés
5622
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
18 décembre 2018
0
Merci
Bonjour,

 Dim fDialog As Office.FileDialog
   Dim varFile As Variant
Set fDialog = Application.FileDialog(msoFileDialogFilePicker)
 With fDialog
        .AllowMultiSelect = False
        .ButtonName = "Submit"
        .Title = "Select an image file"
        .Filters.Clear
        .Filters.Add "JPG", "*.JPG"
        .Filters.Add "JPEG File Interchange Format", "*.JPEG"
        .Filters.Add "Graphics Interchange Format", "*.GIF"
        .Filters.Add "Portable Network Graphics", "*.PNG"
        .Filters.Add "Tag Image File Format", "*.TIFF"
        .Filters.Add "All Pictures", "*.*"

      If .Show = True Then
    varFile = .SelectedItems(1)
 UserForm1.Image1.Picture = LoadPicture(varFile)
 UserForm1.Image1.PictureSizeMode = fmPictureSizeModeZoom
  Dim img As Object
            Dim img2 As Picture
            Set img = ActiveSheet.Pictures.Insert(.SelectedItems(1))
           
           'Scale image size
            'img.ShapeRange.ScaleWidth 0.75, msoFalse, msoScaleFromTopLeft
             'img.ShapeRange.ScaleHeight 0.75, msoFalse, msoScaleFromTopLeft

            'Position Image
            img.Left = 40
            img.Top = 65

            'Set image sizes in points (72 point per inch)
            img.Width = 180
            img.Height = 220
            Else
         MsgBox "You clicked Cancel in the file dialog box."
      End If
   End With

EXTRAORDINAIRE !!!


Merci infiniment !
Commenter la réponse de cs_Le Pivert

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.