Copier une image d'une feuille excel à une autre
Résolu
Cactophile
-
MMYSofts -
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 !!
:)
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 !!
:)
A voir également:
- Copier coller image excel
- Historique copier coller - Guide
- Copier-coller - Accueil - Informatique
- Liste déroulante excel - Guide
- Copier coller pdf - Guide
- Style d'écriture a copier coller - Guide
2 réponses
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:
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
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
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
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 :)
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 Subensuite 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.PasteMerci beaucoup de ton aide Le Pivert !!