Insérer une image à la taille de la sélection

Bonjour,

Dans le cadre de mon travail, j'utilise le VBA en tant que débutant pour me faciliter la vie grâce aux macros personnelles. Pour l'instant j'utilise un UserForm avec des boutons pour insérer des photos dans une fiche qui ne change jamais. Voici le code :

Private Sub CommandButton52_Click() 'Bouton 1

Dim InsererImage1, Cellule As Range

    InsererImage1 = Application.GetOpenFilename(".jpg,*.jpg,.gif,*.gif,.jpeg,*.jpeg", , "Photo appui avant travaux. (Vue d'ensemble)")

    Set Cellule = Worksheets("Fiche Appui").Range("A62").MergeArea

    Worksheets("Fiche Appui").Shapes.AddPicture InsererImage1, False, True, Cellule.Left, Cellule.Top, Cellule.Width, Cellule.Height

If InsererImage1 <> False Then

Else: Close

End If

End Sub

Cela redimensionne la photo en fonction de la cellule fusionnée. Je souhaite aller plus loin dans le cas ou la fiche change. Je voudrais insérer une photo et la redimensionner en fonction de la taille de ma sélection. La photo n'a pas besoin d'être liée à une cellule. Pensez vous que c'est possible ? Merci d'avance.

Bonjour Rezen, bonjour le forum,

Peut-être en changeant simplement :

Set Cellule = Worksheets("Fiche Appui").Range("A62").MergeArea

par :

Set Cellule = Selection

Bonjour Thauthème,

Merci pour ta réponse, j'ai déjà essayé mais cela me renvoit une erreur au niveau de :

Worksheets("Fiche Appui").Shapes.AddPicture InsererImage1, False, True, Cellule.Left, Cellule.Top, Cellule.Width, Cellule.Height

C'est à partir de la que je bloque. Je ne sais pas trop quoi changer.

Re,

Tes explication ne sont pas très claires.Tu parles de fiche qui change mais tu ne dis pas si elle se trouve dans le même onglet ou pas. Sinon il te faut adapter aussi le nom de l'onglet...

Alors en gros, sur mon fichier Excel, il y a qu'un seul onglet qui se nomme "Fiche appui". Si cela doit changer, je changerais le code en conséquence. Pour l'instant le code que j'ai fais ne fais que d'ouvrir un explorateur de fichiers pour choisir une image quand j'appuie sur le bouton d'un UserForm que j'ouvre depuis une macro qui se lance grâce à un raccourci dans les onglets d'Excel. Cela positionne l'image choisie sur une cellule indiquée dans le code et la redimensionne en fonction de cette cellule qui est généralement un groupe de cellules fusionnées. Ce que je souhaite changer c'est que plutôt que d'insérer l'image choisie sur une cellule indiquée dans le code, je voudrais que l'image se positionne et se redimensionne en fonction de ma sélection faite avant de cliquer sur le bouton qui lance le code.

Re,

Ben c'est bien ce que je t'avis dit : remplace :

Set Cellule = Worksheets("Fiche Appui").Range("A62").MergeArea

par :

Set Cellule = Selection

ce qui donne :

Dim InsererImage1, Cellule As Range

InsererImage1 = Application.GetOpenFilename(".jpg,*.jpg,.gif,*.gif,.jpeg,*.jpeg", , "Photo appui avant travaux. (Vue d'ensemble)")
Set Cellule = Selection
Worksheets("Fiche Appui").Shapes.AddPicture InsererImage1, False, True, Cellule.Left, Cellule.Top, Cellule.Width, Cellule.Height
If InsererImage1 <> False Then
Else: Close
End If

et ça marche. En tous cas chez moi ça marche...

Au temps pour moi, je ne comprends pas, je viens de réessayer et ça fonctionne bien. J'avais bien fais attention à ce que mon onglet soit correctement nommé pourtant. C'était tout bête ! Merci à toi !

Rechercher des sujets similaires à "inserer image taille selection"