Copier une image et coller dans tous les onglets

picronte

XLDnaute Occasionnel
Bonjour le fil,
,.
j'ai un travail répétitif tous les début de mois mais malheureusement je n'y arrive pas à faire cette macro.
j'ai environs 70 onglets et je souhaiterai copier l'image que je viens de mettre dans le premier onglet et la coller dans tous les onglets en activant la macro.
Pouvez-vous m'aider
ci-joint le début de la macro
Picronte




Sub Macro7()
'
' Macro7 Macro
'

'
Selection.Copy
Sheets("B").Select
ActiveSheet.Paste
Sheets("c").Select
ActiveSheet.Paste
Sheets("d").Select
ActiveSheet.Paste
Sheets("e").Select
ActiveSheet.Paste
Sheets("f").Select
ActiveSheet.Paste
Sheets("g").Select
End Sub
 

Efgé

XLDnaute Barbatruc
Re : Copier une image et coller dans tous les onglets

Bonjour picronte

Une proposition dans le classeur

Tu mets ton image dans une cellule de ta première feuille
Tu copie cette image sur ta feuille2
Tu selectionne l'image de la feuille 2 et dans la barre de formule tu tappe =Feuil1!$A$1 (pour mon exemple)
Tu copie l'image de la feuille 2 et tu la colle sur tous tes onglets.

A partir de là, toutes les images de ton classeur se modifierons à chaque changement d'image en feuille1

Dans l'exemple, il y a une image en Feuil1!$A$1, et une seconde.
Si tu change la première par la seconde, tu verras que toutes les autres ont été modifiées.

Cordialement
 

Pièces jointes

  • Picronte.xls
    48.5 KB · Affichages: 80
  • Picronte.xls
    48.5 KB · Affichages: 84
  • Picronte.xls
    48.5 KB · Affichages: 87

DoubleZero

XLDnaute Barbatruc
Re : Copier une image et coller dans tous les onglets

Bonjour, picronte, le Forum

... j'ai environs 70 onglets et je souhaiterai copier l'image que je viens de mettre dans le premier onglet et la coller dans tous les onglets en activant la macro...

La macro du fichier joint permet la copie du bouton.

Deux questions, toutefois :

- les "70 onglets" sont-ils nouveaux et dépourvus de bouton / image ?

- quelle action doit être effectuée par chaque bouton dupliqué ?

A bientôt :)

P. S. : Grand BONJOUR, Efgé :D:D
 

Pièces jointes

  • 00 - picronte - Bouton dupliquer sur chaque onglet.xls
    52.5 KB · Affichages: 96
Dernière édition:

Efgé

XLDnaute Barbatruc
Re : Copier une image et coller dans tous les onglets

Bonjour 00 :)

Simple, Efficace, bienvu. :)

Une seule chose m'inquiètre dans la demande initiale : on ne supprime jamais les images du mois précdents (sur 70 onglet * 12 mois le fichier va être lourd en Décembre :D )

Cordialement
 

picronte

XLDnaute Occasionnel
Re : Copier une image et coller dans tous les onglets

Bonjour à tous,
je vais essayer de répondre a toutes les questions. en fin de chaque mois j'enregistre pour le mois suivant, donc au mois de février j'ai le fichier de janvier enregistre et je modifie celui du mois de février qui est identique à janvier, Cela est-il clair
Picronte
 

DoubleZero

XLDnaute Barbatruc
Re : Copier une image et coller dans tous les onglets

Re-bonjour,

... je vais essayer de répondre a toutes les questions. en fin de chaque mois j'enregistre pour le mois suivant, donc au mois de février j'ai le fichier de janvier enregistre et je modifie celui du mois de février qui est identique à janvier...

J'ai du mal à comprendre :confused: !

Trois questions, à présent :

- Les "70 onglets" sont-ils nouveaux et dépourvus de bouton / image ?

- Quelle action doit être lancée par chaque bouton dupliqué ?

- Les suggestions déposées en #2 et #3 ont-elles été testées ?

A bientôt :)
 
Dernière édition:

picronte

XLDnaute Occasionnel
Re : Copier une image et coller dans tous les onglets

Bonjour a tous,
j'ai essayé le post 3 qui fonctionne très bien avec la petite image du téléphone, mais l'image de bonne fête ne fonctionne pas je suppose qu'elle est trop grande car ca ne fonctionne pas.
Ci-joint un petit bout de mon fichier
Picronte
 

Pièces jointes

  • essai mac.xlsm
    78.2 KB · Affichages: 62
  • essai mac.xlsm
    78.2 KB · Affichages: 65
  • essai mac.xlsm
    78.2 KB · Affichages: 71

job75

XLDnaute Barbatruc
Re : Copier une image et coller dans tous les onglets

Bonjour picronte, Efgé, DoubleZero,

Il ne faut pas passer en revue toutes les feuilles.

Placez cette macro dans le ThisWorkbook :

Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim s As Object, flag1 As Boolean, flag2 As Boolean
For Each s In Sh.Shapes
  If s.TopLeftCell.Address = "$B$44" Then flag1 = True
  If s.TopLeftCell.Address = "$B$56" Then flag2 = True
Next
Set s = Sheets("a").Shapes("téléfon") 'à adapter
If Not flag1 Then s.Copy: Sh.Paste Sh.[B44]
Set s = Sheets("a").Shapes("Image 6") 'à adapter
If Not flag2 Then s.Copy: Sh.Paste Sh.[B56]
End Sub
Elle s'exécute quand une feuille est activée (ou créée).

A+
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Copier une image et coller dans tous les onglets

Re,

Dans la mesure où la copie conserve le nom des images, on peut aussi utiliser :

Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim s As Object, flag1 As Boolean, flag2 As Boolean
For Each s In Sh.Shapes
  If s.Name = "téléfon" Then flag1 = True
  If s.Name = "Image 6" Then flag2 = True
Next
Set s = Sheets("a").Shapes("téléfon")
If Not flag1 Then s.Copy: Sh.Paste Sh.[B44]
Set s = Sheets("a").Shapes("Image 6")
If Not flag2 Then s.Copy: Sh.Paste Sh.[B56]
End Sub
Ainsi on peut éventuellement déplacer les images dans chaque feuille.

Nota : on aura compris qu'il faut traiter chaque image séparément.

A+
 

job75

XLDnaute Barbatruc
Re : Copier une image et coller dans tous les onglets

Re,

J'oubliais que vous voulez changer régulièrement les images.

Ne nous basons donc pas sur leur nom mais sur leur position qui elle ne ne doit pas être modifiée.

Ici pour les 2 images en B1 et B44, toujours dans ThisWorkbook :

Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim s As Shape
With Sheets("a") 'à adapter
  If Sh.Name <> .Name Then
    For Each s In Sh.Shapes
      If s.TopLeftCell.Address = "$B$1" _
        Or s.TopLeftCell.Address = "$B$44" Then s.Delete
    Next
    For Each s In .Shapes
      If s.TopLeftCell.Address = "$B$1" Then s.Copy: Sh.Paste Sh.[B1]
      If s.TopLeftCell.Address = "$B$44" Then s.Copy: Sh.Paste Sh.[B44]
    Next
  End If
End With
End Sub
A+
 
Dernière édition:

Discussions similaires