Inserer Logo et copier sur plusieurs feuilles

kyasteph

XLDnaute Occasionnel
Bonjour,

J'ai une macro qui me permet d'importer une image(logo) et de la coller dans une feuille(model) à un emplacement précis(dans la plage de cellule [B2:D9]).
Jusque là tout va bien mais je souhaiterais que l'image inserée soit automatiquement collée dans les autres feuilles(les feuilles "02" à "50") au meme emplacement.

je joins une piece jointe pour mieux me faire comprendre.

Merci de m'aidez s'il vous plait.
 

Pièces jointes

  • InsererLogo.zip
    152.6 KB · Affichages: 73

Staple1600

XLDnaute Barbatruc
Re : Inserer Logo et copier sur plusieurs feuilles

Bonsoir à tous

kyasteph
Cliquer sur la loupe en haut à droite peut s'avérer très souvent plus qu'utile
https://www.excel-downloads.com/thr...ge-et-la-coller-sur-plusieurs-onglets.226728/
et accessoirement c'est recommandé par la charte du forum...
Demandeur

1 – Un outil de recherche sur le forum permet de voir si la question a déjà été posée. Ne pas hésiter à l’utiliser. Lien vers le moteur de recherche
 

kyasteph

XLDnaute Occasionnel
Re : Inserer Logo et copier sur plusieurs feuilles

Bonsoir,
Merci Staple pour la recommandation,mais je l'avais déja fait et je n'ai pas trouvé mon bonheur.Le code proposé par ce lien ne me permettait pas d'atteindre mon objectif.
C'est pourquoi je créée une macro qui me permet d'inserer l'image;mais je n'arrive pas à reproduire cela sur certaines feuilles bien définies.(j'ai illustré tout ceci dans la piece jointe).

Merci de m'aider s'il vous plait.
 

Staple1600

XLDnaute Barbatruc
Re : Inserer Logo et copier sur plusieurs feuilles

Re


Si tu ne précises pas avoir fait des recherches, on ne peut pas le deviner, non ?

Et quand au lien que j'ai cité, il fallait lire toute la discussion, car il y avait d'autres liens
 

kyasteph

XLDnaute Occasionnel
Re : Inserer Logo et copier sur plusieurs feuilles

Re
En effet je prends note et je préciserai les prochaines fois.
Et j'ai parcouru toute la discussion,cependant les differentes propositions ne reglent pas mon probleme.(il ne s'agit pas de passer par l'entete )
Si vous pouviez visualisez la piece jointe,vous comprendrez mieux mon probleme.

Merci de m'aider s'il vous plait.
 

Staple1600

XLDnaute Barbatruc
Re : Inserer Logo et copier sur plusieurs feuilles

Bonsoir


Voici un exemple simple qui fait ce que tu souhaites
(copier un image au même endroit sur les autres feuilles)
je te laisse donc étudier la syntaxe et adapter/tester ensuite à ta propre problématique
Code:
Sub a()
Dim IMG As Shape, Sht As Worksheet, iADR$
Set IMG = Sheets(1).Shapes("TOTO")
iADR = IMG.TopLeftCell.Address
On Error Resume Next
For Each Sht In ActiveWorkbook.Worksheets
If Sht.Name <> "Feuil1" Then
IMG.Copy
Sht.Range(iADR).PasteSpecial
End If
Next Sht
End Sub
PS: Dans l'exemple, l'image est nommée TOTO et se trouve sur la feuille 1.

On remarquera que l'on avait déjà beaucoup de la syntaxe que j'utilise dans la macro a dans le code de job75 posté dans le fil que je cite...:rolleyes:
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)
 
Dernière édition:

kyasteph

XLDnaute Occasionnel
Re : Inserer Logo et copier sur plusieurs feuilles

Bonjour,
Merci beaucoup Staple1600,j'ai considerablement avancé.Le code que tu m'as donné fonctionne ;seulement il m'a fallu renommer mon logo apres importation sinon il me mettait une erreur à cette ligne (Set IMG = Sheets(1).Shapes("TOTO")).
Cependant j'ai une préoccupation:je souhaiterais que la macro s'applique uniquement sur les feuilles nommées ("02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50")
Mais je n'y arrive pas.

Merci de m'aider s'il vous plait.
 

Pièces jointes

  • InsererLogo1.zip
    177.4 KB · Affichages: 80

chris

XLDnaute Barbatruc
Re : Inserer Logo et copier sur plusieurs feuilles

Bonjour
Coucou Staple ;)

Il est plus simple, si les feuilles non concernées sont peu nombreuses, de travailler par élimination et la copy peut être faite une seule fois

Code:
IMG.Copy
Sub RecopieLogo()
Dim IMG As Shape, Sht As Worksheet, iADR$
Set IMG = Sheets("01").Shapes("TOTO")
iADR = IMG.TopLeftCell.Address
On Error Resume Next
Application.ScreenUpdating = False
For Each Sht In ActiveWorkbook.Worksheets
    Select Case Sht.Name
        Case Not "Z", "A", "01","50" 'à compléter
        Sht.Range(iADR).PasteSpecial
    End Select
Next Sht
Application.ScreenUpdating = True
End Sub
 

kyasteph

XLDnaute Occasionnel
Re : Inserer Logo et copier sur plusieurs feuilles

Bonsoir
Chris,Merci pour votre proposition mais le code ne marche pas.Il génere une erreur:
"La taille et la forme des données du presse papiers ne correspondent pas à la zone sélectionnée.voulez vous quand meme coller les données?"
;aussi il va coller le code dans les feuilles "Z" et "A",sans coller l'image.

Merci de m'aidez s'il vous plait
 

Staple1600

XLDnaute Barbatruc
Re : Inserer Logo et copier sur plusieurs feuilles

Bonsoir à tous

Salut Chris ;)

Test OK sur mon PC
Code:
Sub RecopieLogoTER()
Dim IMG As Shape, Sht As Worksheet, iADR$
Set IMG = Sheets("01").Shapes("TOTO")
iADR = IMG.TopLeftCell.Address
IMG.Copy
On Error Resume Next
Application.ScreenUpdating = False
For Each Sht In ActiveWorkbook.Worksheets
    Select Case Val(Sht.Name)
        Case 2 To 50
        Sht.Range(iADR).PasteSpecial
    End Select
Next Sht
Application.ScreenUpdating = True
End Sub
 

kyasteph

XLDnaute Occasionnel
Re : Inserer Logo et copier sur plusieurs feuilles

Bonsoir,
Staple1600,Chris et au forum

Merci beaucoup pour vos contributions,apres réflexion et plusieurs recherches sur le forum,j'ai trouvé une solution à mon probleme tout en m'inspirant de vos contributions:

je réalise cette macro qui me permet d'importer l'image (il faut que l'image soit placé au préalable par l'utilisateur dans un dossier ici VotreDossier):
Code:
Public Sub insere_image1()
Dim ficimg As Variant, Plage As Range, Sht As Worksheet
    ficimg = "C:\VotreDossier\LOGO.png" ' placer l'mage dans VotreDossier 
    If ficimg = "Faux" Then
    MsgBox "L'image nommée LOGO avec extension .png n'existe pas"
    Exit Sub 'cliquer sur annuler
    End If
Application.ScreenUpdating = False
    ActiveSheet.Unprotect "MDP" ' oter protection
    ActiveSheet.Pictures.Insert(ficimg).Select ' insertion
    Set Plage = [B2:D9]
    With Selection.ShapeRange
        .LockAspectRatio = False        ' proportions d'origine lorsque vous la redimensionnez
        .Top = Plage.Top           ' haut de la cellule
        .Left = Plage.Left         ' gauche de la cellule
        .Width = Plage.Width ' largeur de la cellule
        .Height = Plage.Height   ' hauteur de la cellule
    End With
    With Selection
        .PrintObject = True             ' l'objet est imprimé en même temps que le document
        .Placement = xlMoveAndSize      ' manière dont l'objet est lié aux cellules
    End With
    [A1].Value = 1
    ActiveSheet.Protect "MDP" ' mettre protection
Application.ScreenUpdating = True
End Sub
Ici l'avantage avec ce code est qu'il cadre exactement l'image dans la plage indiquée([B2:D9])

Ensuite j'insere dans le code de chaque feuille uniquement où on veut importer l'image le code suivant:
Code:
Private Sub Worksheet_Activate()
If [A1].Value = "" Then
Call insere_image1
End If
End Sub
ainsi chaque fois que la feuille est activée l'image est importée une fois pour toute et uniquement sur les feuilles concernées

Cette méthode solutionne mon probleme,en tout cas merci encore à Staple1600 et à Chris.

Longue vie au forum .
 

Staple1600

XLDnaute Barbatruc
Re : Inserer Logo et copier sur plusieurs feuilles

Bonsoir à tous

kyasteph

[humour teintée d'amicale ironie]
Donc finalement, quand on essuie la loupe avec un chiffon doux et qu'on prends le temps de faire une recherche
https://www.excel-downloads.com/thr...-meme-temps-a-des-endroits-differents.117161/
Il peut arriver que l'on dise une chose et son contraire dans le même fil ;),
N'est-ce pas kyasteph ? ;)
Merci Staple pour la recommandation,mais je l'avais déja fait et je n'ai pas trouvé mon bonheur.

Merci beaucoup pour vos contributions, après réflexion et plusieurs recherches sur le forum, j'ai trouvé une solution à mon problème tout en m'inspirant de vos contributions:
[amicale ironie teintée d'humour]
 

kyasteph

XLDnaute Occasionnel
Re : Inserer Logo et copier sur plusieurs feuilles

Bonsoir à tous,
Staple1600;Chris

Merci beaucoup Staple1600 pour ta contribution,ton code marche je viens de le tester,les copies se font exactement sur les feuilles indiquées.
Cependant à part la feuiille "01",l'image ne cadre pas totalement dans les autres feuilles;ce probleme se regle avec la solution que j'ai proposé.
Mais bon je reconnais que je n'avais pas posé ce probleme au préalable.

Merci encore pour votre sollicitude.

Longue vie au forum.
 

Discussions similaires

Statistiques des forums

Discussions
312 335
Messages
2 087 386
Membres
103 530
dernier inscrit
dieubrice