Afficher une image dans une cellule et imgbox

Résolu
hartarus - Modifié par jordane45 le 4/07/2014 à 11:46
 hartarus - 4 juil. 2014 à 15:32
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...

3 réponses

jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 344
4 juil. 2014 à 11:46
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
0
jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 344
4 juil. 2014 à 11:57
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

.
0
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
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
4 juil. 2014 à 15:10
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

0
EXTRAORDINAIRE !!!


Merci infiniment !
0
Rejoignez-nous