Mina_1983
Messages postés4Date d'inscriptionjeudi 20 juillet 2006StatutMembreDernière intervention21 juillet 2006
-
21 juil. 2006 à 13:20
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 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
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 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
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 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