Code VBA pour copier une image et la coller sur plusieurs onglets

ingelman

XLDnaute Nouveau
Bonjour,

J'aimerai copier une image a partir du premier onglet nommé (rapport) et l'appliquer sur toute les feuilles crée au meme emplacement.

Je m'explique, j'ai crée en VBA un model de feuille qui se crée pour chaque pays présent dans l'onglet "Rapport"
Hors la mise en page necéssite un Logo que je ne peut reproduire en VBA.

Merci pour votre aide.
 

job75

XLDnaute Barbatruc
Re : Code VBA pour copier une image et la coller sur plusieurs onglets

Bonsoir ingelman, JM,

Supposons que le 1er onglet (rapport) ait pour CodeName "Feuil1".

Et que la cellule où se trouve le logo soit A1.

Alors placez cette macro dans ThisWorkbook (Alt+F11) :

Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
'le logo doit avoir la propriété "Déplacer et dimensionner avec les cellules"
Dim F As Worksheet, a$, s As Shape
Set F = Feuil1 'feuille modèle
a = "$A$1" 'adresse de la cellule contenant le logo
For Each s In Sh.Shapes
  If s.TopLeftCell.Address = a Then Exit Sub
Next
F.Unprotect "mdp" 'mot de passe, facultatif
Sh.Unprotect "mdp" 'mot de passe, facultatif
Sh.Range(a).RowHeight = F.Range(a).RowHeight 'hauteur ligne
Sh.Range(a).ColumnWidth = F.Range(a).ColumnWidth 'largeur colonne
F.Range(a).Copy Sh.Range(a)
Sh.Protect "mdp" 'mot de passe, facultatif
F.Protect "mdp" 'mot de passe, facultatif
End Sub
Activez une feuille quelconque.

A+
 
Dernière édition:

ingel

XLDnaute Nouveau
Re : Code VBA pour copier une image et la coller sur plusieurs onglets

Bonsoir et merci pour votre aide,
ce n'est pas vraiment ce que je recherche,
il faut savoir que l'onglet "rapport" n'est pas un modele mais contient un tableau de trois colonnes, un bouton pour activer la macro et un logo que je veut mettre sur toutes les feuilles sont pour autant qu'il soit en entete, sa position devrait être sur le cellule D5.

Le fonctionnement de mon fichier est le suivant : a l'exécution de la marco, un dico se rempli puis pour chaque pays se trouvant dans le tableau une feuille se crée.
j'ai tout fait, il me reste juste a trouver comment copier l'image (logo) qui est sur l'onglet "rapport" et la mettre sur toutes les feuilles crées a la position D5
 

job75

XLDnaute Barbatruc
Re : Code VBA pour copier une image et la coller sur plusieurs onglets

Re,

ce n'est pas vraiment ce que je recherche,
Adaptez donc le code déjà donné :

Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
'le logo doit avoir la propriété "Déplacer et dimensionner avec les cellules"
Dim F As Worksheet, a$, s As Shape
Set F = Feuil1 'CodeName de la feuille "rapport"
a = "$D$5" 'adresse de la cellule contenant le logo
If Sh.Name = F.Name Then Exit Sub
For Each s In Sh.Shapes
  If s.TopLeftCell.Address = a Then Exit Sub
Next
Sh.Range(a).RowHeight = F.Range(a).RowHeight 'hauteur ligne
Sh.Range(a).ColumnWidth = F.Range(a).ColumnWidth 'largeur colonne
F.Range(a).Copy Sh.Range(a)
End Sub
Mais il ne faut pas qu'il y ait Application.EnableEvents = False dans la macro qui crée les onglets.

A+
 

ingel

XLDnaute Nouveau
Re : Code VBA pour copier une image et la coller sur plusieurs onglets

au fait
sa marche avec ce simple code :

Sub Macro1()
'
' Macro1 Macro
'

'
ActiveWindow.SmallScroll Down:=-3
Selection.Copy
Sheets("fr").Select
Range("D5").Select
ActiveSheet.Paste
End Sub

faut juste que je trouve le moyen de faire une boucle pour que l'image se colle sur toutes les feuilles
 

Discussions similaires

Statistiques des forums

Discussions
312 196
Messages
2 086 101
Membres
103 116
dernier inscrit
kutobi87