Macro utilisable pour toutes les feuilles d'un classeur

Résolu
Mina_1983 Messages postés 4 Date d'inscription jeudi 20 juillet 2006 Statut Membre Dernière intervention 21 juillet 2006 - 21 juil. 2006 à 13:20
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 - 21 juil. 2006 à 13:32
Bonjour,
Hier j'ai posé une question pour créer un programme me permettant de copier les éléments d'une liste dans une feuille d'un autre classeur et de mettre à jour cette derniere lorsque de nouveaux événements étaient créés. J'ai donc réussi avec le code ci-dessous.
Cependant, je voudrais que ce programme s'applique sur toutes les feuilles de mon classeur ainsi que dans des classeurs différents. Je pensais faire une boucle mais je ne m'en sors pas . Auriez vous quelques conseils svp? Merci d'avance.

Sub Extract()
Dim wksw As Worksheet
Dim wksr As Worksheet
Dim wbrr As Workbook
Dim rr As Range
Dim rw As Range
Dim wkssheet As Worksheet
Dim LigneLecture As Integer

Set wksw = Application.ActiveWorkbook().Worksheets("NomFeuilleàmodifier")
Set wbr = Workbooks.Open("C...\liste.xls") 'liste=source de données
Set wksr = wbr.Worksheets("liste")


'   Lecture
LigneLecture = 6 '1ère ligne à lire
While Not IsEmpty(wksr.Cells(LigneLecture, 1))
   
    If wksw.Cells(LigneLecture, 2) <> wksr.Cells(LigneLecture, 2) Then
        aa$ = LigneLecture & ":" & LigneLecture
        wksw.Rows(aa$).Insert (xlDown)
  
        For j = 1 To 3
        wksw.Cells(LigneLecture, j) = wksr.Cells(LigneLecture, j)
        Next j
    End If
    LigneLecture = LigneLecture + 1
Wend
wbr.Close
wksw.Activate
End Sub

2 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
21 juil. 2006 à 13:32
Arf, j'ai pas fait gaffe, t'es en VB, je pensais VBA.

Ben dans ton cas, il faut placer la partie 'commune' de code à tous tes classeurs dans une procédure, par contre à mon avis tu es obligé d'ouvrir tes classeurs un à un, il suffira donc d'appeler ta procédure après ouverture et avant fermeture de chaque classeur.

@++

  Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"

Merci de prendre le temps de répondre à ce
sondage


Merci de prendre le temps de lire
le Règlement CS


    http://www.smileycentral.com/?partner=ZSzeb008_ZNxdm414YYFR
3
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
21 juil. 2006 à 13:28
Salut,

il faut placer la macro dans la classeur de macros personnelles nommé PERSO.xls

S'il n'apparait pas en projet, enregistre toi pour faire une macro en précisant 'enregistrer macro dans tous les classeurs' et arrête la macro.
Ensuite va dans l'éditeur VB et copie ta macro dans le module du projet PERSO.xls

@++

  Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"

Merci de prendre le temps de répondre à ce
sondage


Merci de prendre le temps de lire
le Règlement CS


    http://www.smileycentral.com/?partner=ZSzeb008_ZNxdm414YYFR
0
Rejoignez-nous