Appliquer une Macro évènementiel sur x feuilles au lieu de 1

Bonjour,

Ci-joint un fichier ou j'ai un pied de page qui se remplit automatiquement par rapport au contenu de deux cellules en "feuil1" (voir le code dans vba feuil1).

Mon problème est qu'il marche sur la "feuil1" hors je veux qu'il marche sur toutes les feuilles.

Sachant que le nom des feuilles peut changer et le nombres également. rien de fixe

Hello,

je pense qu'il faut que tu créés un module avec ta macro dedans,

et tu lances ta macro quand tu es sur l'onglet voulu

Bonjour,

le code utilisé dans Private Sub Worksheet_Change de la feuille 1 peut être utilisé au niveau ThisWorkbook dans Private Sub Workbook_SheetChange. Juste modifier :

ActiveSheet.PageSetup.LeftFooter =...

A+

bonjour,

La solution est dans ThisWorkbook.

A+

Galopin01 sauf erreur de ma part ça ne marche pas. Le pied de page est actif toujours sur une seul feuille la feuil1. or je le veux sur toute les feuilles et qu'il se modifie quand je modifie la cellule C1 en feuil1

Algoplus j'ai essayé de faire ta manip mais ça ne marche pas non plus j'ai du mal la faire

essaye la solution de galopin01; c'est la même* et c'est tout prêt !

*avec : Sh.PageSetup.LeftFooter =... ce qui est plus mieux

d'accord merci mais le fichier de galopin ne marche pas ou je il me manque une manip.

Sur son fichier sauf erreur de ma par le pied de page n'est pas remplit sur les autres feuilles

2 possibilités si tu veux que ça marche uniquement à partir de feuille1, tu mets la macro dans Feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count = 1 Then
      If Target.Address = "$C$1" Or Target.Address = "$C$3" Then
         For i = 1 To Worksheets.Count
           Worksheets(i).PageSetup.LeftFooter = "&E" & Range("C1").Value & vbLf & Range("C3").Value
         Next
    End If
   End If
End Sub

Sinon pour que ça marche à partir de n'importe quelle feuille mettre uniquement dans ThisWorkbook :

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Target.Count = 1 Then
      If Target.Address = "$C$1" Or Target.Address = "$C$3" Then
         For i = 1 To Worksheets.Count
           Worksheets(i).PageSetup.LeftFooter = "&E" & Range("C1").Value & vbLf & Range("C3").Value
         Next
    End If
   End If
End Sub

A+

Bonjour Galopin01,

Merci encore pour ton aide, mais je ne peux pas te dire si cela marche comme je le veux car quand je met ton code et que je fait une modif dans une cellule (c1 ou c3) j'ai le debogueur qui se lance

J'ai le débogueur qui se lance n'est pas une explication !
Le débogueur est ton ami : : Il faut accepter le débogage et voir ce qui est dit ensuite.
Il est probable (Si tu as misOption Explicit) qu'il faut ajouter au début des macros :

Dim i

Ne mettre qu'une des macros selon le résultat escompté (ou la macro dans Feuille 1, ou la macro dans ThisWorkbook...

A+

Merci sa fonctionne. Merci du temps accordé c'est sympas

Rechercher des sujets similaires à "appliquer macro evenementiel feuilles lieu"