Boucle For avec un classeur qui ouvre d'autres classeurs

melsebalex Messages postés 3 Date d'inscription jeudi 18 juin 2009 Statut Membre Dernière intervention 15 novembre 2017 - 15 nov. 2017 à 14:24
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 15 nov. 2017 à 14:39
Salut à tous,

J'ai le problème suivant. Sur mon classeur Reporting, je recherche (à l'aide d'une boucle For) les noms des collaborateurs et à chaque fois, le code ouvre le classeur concerné. Le problème est qu'à la prochaine valeur, le code lit les cellules du classeur du collaborateur qui vient d'être ouvert au lieu de lire toujours sur Reporting. J'ai mis une ligne activant à chaque fin de boucle le classeur Reporting mais c'est très long. Y a-t-il une autre manière ?

Voici mon code :

Private Sub Auto_Open()
Application.ScreenUpdating = True
Mon_Fichier = "Reporting Equipe David 2018.xlsm"
Dim CSE As Variant
For i = 4 To Range("A4").End(xlDown).Row
CSE = Range("B" & i).Value
If Range("B" & i).Value = "Total" Then GoTo Fin
Workbooks.Open "\\C:\Reporting\Reporting " & CSE & " 2018.xlsm", Password:=Range("O" & i).Value
ThisWorkbook.Activate

Next i
Fin:
End Sub
A voir également:

1 réponse

cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
15 nov. 2017 à 14:39
Bonjour,

Habitue-toi à mettre le nom des classeurs dans lesquels tu agis.
Tu peux passer par des variables

Dim Wb As Workbook
Set Wb = Workbooks.Open("...............")


Par la suite, tu n'as qu'à utiliser cette variable si nécessaire et ThisWorkbook pour référer à ton classeur qui contient les macros de départ.
1
Rejoignez-nous