Insertion Image Choisie

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

loizoju

XLDnaute Nouveau
Bonjour à tous,
Etant assez novice en VBA je viens solliciter votre aide.
Je cherche à créer un bouton qui, lorsqu'il est cliqué, ouvre le menu Insertion\Image, et que, une fois l'image choisie, celle ci soit intégrée sur une cellule donnée et redimensionnée au format de cette celleule.
En vous remerçiant d'avance.
 
Re : Insertion Image Choisie

fred,
jai essayé de faire fonctionner ton code, mais des instructions ne sont pas reconnues, tel que filedialog
A savoir que je travaille sur excel 2000 pro, pc du travail oblige...
A moins que ce soit des bibliothèques qui n'ont pas été selectionnées, je ne sais pas...
Merci encore
 
Re : Insertion Image Choisie

Je te mets les premices du code que j'utilisais,

merci de ne pas rigoler....😀

Code:
Sub InsertionImage()
Dim Emplacement As Range
Dim image As Object
Dim ShapeObj As Object

On Error GoTo fin:

Application.Dialogs(xlDialogInsertPicture).Show
Set Emplacement = Range("C11:I20")
Set image = ActivebSheet.DrawingObjects(2)
With image.ShapeRange
.Name = "cible1"
.LockAspectRatio = msoFalse
.Left = Emplacement.Left
.Top = Emplacement.Top
.Height = Emplacement.Height
.Width = Emplacement.Width
End With

Application.Dialogs(xlDialogInsertPicture).Show
Set Emplacement = Range("C22:I31")
Set image = ActiveSheet.DrawingObjects(2)
With image.ShapeRange
.Name = "cible2"
.LockAspectRatio = msoFalse
.Left = Emplacement.Left
.Top = Emplacement.Top
.Height = Emplacement.Height
.Width = Emplacement.Width
End With

Exit Sub
fin:
If Err = 1004 Then MsgBox "Insertion d'image interrompue . "
End Sub
 
Re : Insertion Image Choisie

tu as une erreur ici
Set image = ActivebSheet.DrawingObjects(2)
Set image = ActiveSheet.DrawingObjects(2)

et là
Set Emplacement = Range("C11:I20")
Set image = ActiveSheet.DrawingObjects(2)
Set image = ActiveSheet.DrawingObjects(1)

sinon ça fonctionne

plutôt que des index nomme tes images type image1, image2 etc

et fais une boucle comme dans l'exemple que je t'ai donné
 
Re : Insertion Image Choisie

Bonjour à vous,
la je viens d'essayer de faire ce que m'a dis fred65200 et ca marche...
je sais pas si c'est vraiment nickel...

Code:
Sub InsertionImage()
Dim Emplacement As Range
Dim i As Integer
Dim image As Object
Dim ShapeObj As Object

On Error GoTo fin:

For i = 1 To 4

    Application.Dialogs(xlDialogInsertPicture).Show

    If i = 1 Then
        Set Emplacement = Range("C11:I20")
        ' je commence à objet 2 puisque j'ai un logo sur ma page
        Set image = ActiveSheet.DrawingObjects(2)
    ElseIf i = 2 Then
        Set Emplacement = Range("K11:Q20")
        Set image = ActiveSheet.DrawingObjects(3)
    ElseIf i = 3 Then
        Set Emplacement = Range("C22:I31")
        Set image = ActiveSheet.DrawingObjects(4)
    ElseIf i = 4 Then
        Set Emplacement = Range("K22:Q31")
        Set image = ActiveSheet.DrawingObjects(5)
    End If
    
    With image.ShapeRange
    .Name = "image" & i
    .LockAspectRatio = msoFalse
    .Left = Emplacement.Left
    .Top = Emplacement.Top
    .Height = Emplacement.Height
    .Width = Emplacement.Width
    End With

Next i

Exit Sub
fin:
If Err = 1004 Then MsgBox "Insertion d'image interrompue . "
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
585
Compte Supprimé 979
C
Réponses
1
Affichages
779
Retour