Copier une image d'une feuille excel à une autre [Résolu/Fermé]

Signaler
-
 MMYSofts -
Bonjour le Forum !

Ce que je veux faire semble très simple et pourtant je bloque !!

L'idée est de créer plusieurs images depuis une feuille excel (Copier en tant qu'image). Je les renomme toute par un nom différents. et je les colle dans une feuille "tampon"
Ensuite je voudrai afficher la bonne image en fonction de la valeur d'une cellule ...
C'est la que je bloque ! comment sélectionner l'image que j'ai renommer pour le coller ensuite dans ma feuille Excel ??

Voila le code que j'utilise pour copier et renommer mon image :
<code>
Sheets("Feuil1").Select
Application.CutCopyMode = False
Sheets("Feuil1").Range("A7:AU45").Copy
Sheets("Pertes").Select
Range("J48").Select
ActiveSheet.Pictures.Paste.Select
Selection.Name = "PDB"
Application.CutCopyMode = False<
/code>

Voila et en gros maintenant je voudrai lui dire :
Prend l'image qui s'appelle PDB et colle la dans la cellule A1 par exemple

J'arrive à selectionner et à copier l'image mais je bloque pour lui dire de ce coller dans une cellule données : La ligne :
Selection.Copy Destination:=Sheets("Pertes").Range("J86")

Me renvoie un beug ...Mais le selection.Copy tout seul fonctionne !

Merci de votre aide !!

:)

2 réponses

Messages postés
7268
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
22 février 2021
616
Bonjour,

Pour connaître le nom de l'image (celle d'Excel) pas celle que tu lui a donnée.
Tu vas dans le ruban en haut à droite:
Rechercher sélectionner- Volet sélection.
Si tu en as plusieurs, pour la retrouver tu cliques sur l'oeil, cela va l'effacer.
Là tu verras le nom de ton image que tu mettras dans cette macro:

ActiveSheet.Shapes("Image 1").Copy 'adapter le nom de l'image
    Sheets("Feuil2").Select 'adapter
    Range("A1").Select 'adapter
    ActiveSheet.Paste

1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Merci beaucoup Le Pivert !

J'arrive effectivement à retrouvé le nom de mon image et à la mettre dans la macro, mais celle-ci plante à la ligne Range("A1").Select !
Le message d'erreur est : "Erreur définie par l'application ou par l'objet"
Je ne comprend pas pourquoi cela beug ...
Et si j'essaye de relancer la macro un seconde fois elle plante ou moment du :
ActiveSheet.Shapes("Picture 12").Copy

Une idée ?

Merci beaucoup de votre aide :)
Messages postés
7268
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
22 février 2021
616 > Cactophile
Essaye ceci pour trouver le numéro de la Shape:

Sub shapes_count()
   Dim intCounter As Integer
    Dim intShapeCount As Integer
    Dim img As Object
  Set img = Worksheets(1).Shapes
   intShapeCount = img.Count
  If intShapeCount > 0 Then
        For intCounter = 1 To intShapeCount
            MsgBox img.Item(intCounter).Name
             MsgBox "Shape N° " & (intCounter)
 Next intCounter
    Else
         MsgBox "No Shapes"
    End If
 End Sub


ensuite quand tu as le numéro de la Shape, tu mets ce code:

ActiveSheet.Shapes(1).Copy 'adapter le numéro de la shape
    Sheets("Feuil2").Select 'adapter
    Range("A1").Select 'adapter
    ActiveSheet.Paste
Messages postés
7268
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
22 février 2021
616
Ce n'est pas la peine de te rappeler qu'il faut que la feuille où se trouve l'image à copier soit sélectionnée!
C'est bon ça à marché !!
Merci beaucoup de ton aide Le Pivert !!
Merci Cs_Le Pivert.Ton aide m'a été précieuse
Messages postés
17301
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
20 janvier 2021
4 500
Bonjour,

Tu n'as pas besoin de VBA pour cela, regarde 2 façons d'afficher une image contenue dans le fichier en fonction du contenu d'une cellule

https://www.cjoint.com/c/EDctxLATHvM
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci