XL 2016 copier un objet sur toutes les feuilles

andrekn13

XLDnaute Occasionnel
bonjour
je me suis usé à trouver le code, si une bonne âme connaît la démarche ....
ce code fonctionne pour un range mais pour un shapes c'est à chaque fois la misère ...;

Sub Macro9()
Dim Feuille As Worksheet
For Each Feuille In ThisWorkbook.Worksheets
'Feuille.Range("L10") = Sheets("FACT FROID").Range("L10") : CODE QUI FONCTIONNE
'Feuille.Range("L10") = Sheets("FACT FROID").Shapes.Range(Array("Left Arrow 19")) évidemment ça fonctionne pas ...

Sheets("FACT FROID").Shapes.Range(Array("Left Arrow 19")).Copy
Feuille.Range("L10").Paste
Next Feuille
End Sub

le problème est que le "copiage" se fait au hazard, et si l'on veut fixer sur une cellule, on perd la mémoire de la sélection .......
Merci de votre aide ...;
 

sousou

XLDnaute Barbatruc
Bonjour
Positionne ton shapes après la copy du genre:
Sub copie()
With Sheets(1)
.Shapes("Rectangle 1").Copy
Sheets(2).Paste
Set im = Selection
im.Left = Sheets(2).Range("L10").Left
im.Top = Sheets(2).Range("L10").Top
End With

End Sub
 

andrekn13

XLDnaute Occasionnel
merci pour ton idée !!!!!
ça à l'air de fonctionner
juste que je voulais "faire simple" pour une copie sur toutes les feuilles ; à croire que je doive mettre sur une variable la feuille " activesheets" pour qu'il arrive, apr's avoir copié, revenir sur cette feuille


Sub Macro9()
Dim Feuille As Worksheet
Dim retour As Object
For Each Feuille In ThisWorkbook.Worksheets
'Feuille.Range("L10") = Sheets("FACT FROID").Range("L10") CODE QUI FONCTIONNE
'Feuille.Range("L10") = Sheets("FACT FROID").Shapes.Range(Array("Left Arrow 19")) ? évidemment ?a fonctionne pas ...
'With Worksheets '(NomFeuille)

Set retour = Sheets("FACT FROID").Shapes("Left Arrow 19")
retour.Copy
Feuille.Range("L10").Select : ça bloque à ce niveau
Feuille.Range("L10").Paste '.Range ("L10") 'objet.Copy ActiveSheet.Range("Q9")

'End With
'ActiveSheet.Range ("L10")

Next Feuille
End Sub
 

andrekn13

XLDnaute Occasionnel
alors comment faire ?
Puisqu'on demande de revenir sur la feuille où il y le shapes et de le copier , il faut donc revenir sur la feuille que l'on a besoin pour que ce shapes soit copié !!
De plus je recherche à copier ce shapes sur toutes les feuilles de mon classeur ......
 

Roland_M

XLDnaute Barbatruc
bonsoir,

si j'ai bien compris, copier un shape de la Feuil(1) par exemple sur toutes les autres feuilles !?
ceci fonctionne:

Sub copie()
Sheets(1).Shapes("Rectangle 1").Copy
For Each Feuille In ThisWorkbook.Worksheets
If Feuille.Name <> Sheets(1).Name Then Feuille.Paste
Next Feuille
End Sub
 

Roland_M

XLDnaute Barbatruc
re

comme ceci: (par contre comprend pas trop aléatoire quoi !? la cellule !?)

Code:
Sub Copie3()
Sheets(1).Shapes("Rectangle 1").Copy
For Each Feuille In ThisWorkbook.Worksheets
 If Feuille.Name <> Sheets(1).Name Then Feuille.Paste Destination:=Feuille.Cells(5, 5)
Next
End Sub

EDIT: j'ai modifié ! si tu as pris le premier reprends celui-ci !
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
314 665
Messages
2 111 686
Membres
111 259
dernier inscrit
Seb15