Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Copier une image à partir d'une plage de cells vers une cell (.range.shape = erreur)

  • Initiateur de la discussion Initiateur de la discussion pierre93
  • Date de début Date de début

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 !

pierre93

XLDnaute Nouveau
Bonjour,

Je vous explique mon problème. Dans ma feuille excel, j'ai 4 tableaux les uns sous les autres. Une macro va me chercher une image en fonction de la valeur de la cellule adjacente. Jusque là pas de problème. Je souhaiterais prendre l'image et la copier dans une cellule définie. J'ai trouvé ce code qui me va très bien :
Sub CopyImage()

Dim s As Shape
Dim bOK As Boolean
For Each s In Sheets("Feuil4").Shapes
If s.Type = msoPicture Then

bOK = True
Exit For
End If

Next
If bOK Then

s.copy
Sheets("Feuil4").Activate
Range("G3").Select
ActiveSheet.Paste
End If
End Sub

MAIS je souhaiterai que ce code ne s'applique que sur une plage de cellule, j'ai donc modifiée la formule ainsi (voir en gras)
Sub CopyImage()

Dim s As Shape
Dim bOK As Boolean
For Each s In Sheets("Feuil4").Range("d4:d18").Shapes
If s.Type = msoPicture Then

bOK = True
Exit For
End If

Next
If bOK Then

s.copy
Sheets("Feuil4").Activate
Range("G3").Select
ActiveSheet.Paste
End If
End Sub

Mais une fois que j'ai rajouté cet élèment la macro bloque sur la ligne ou j'ai rajouté le range avec l'erreur suivante "erreur d'execution 438". J'en déduis donc que je ne peux pas mettre un "range" à cet endroit. alors comment faire ?

Je vous remercie par avance de votre aide.

Cordialement
 
Re : Copier une image à partir d'une plage de cells vers une cell (.range.shape = err

Bonjour.
Traitez tous les Shape mais étudiez, avant de traiter, les numéros de lignes et colonnes des Range donnés en leurs propriétés TopLeftCell et BottomRightCell
À+
 
Re : Copier une image à partir d'une plage de cells vers une cell (.range.shape = err

Bonjour,

Merci pour cette réponse, pourriez-vous me donner un exemple en intégrant ces propriétés dans mon code ?
Merci d'avance.
 
Re : Copier une image à partir d'une plage de cells vers une cell (.range.shape = err

VB:
For Each s In Sheets("Feuil4").Shapes
   If s.Type = msoPicture And Not Intersect(Range(s.TopLeftCell, s.BottomRightCell), Range("d4:d18")) Is Nothing Then
 
- 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
4
Affichages
468
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…