Boucle For avec un classeur qui ouvre d'autres classeurs

melsebalex 3 Messages postés jeudi 18 juin 2009Date d'inscription 15 novembre 2017 Dernière intervention - 15 nov. 2017 à 14:24 - Dernière réponse : cs_MPi 3863 Messages postés mardi 19 mars 2002Date d'inscription 13 mars 2018 Dernière intervention
- 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
Afficher la suite 

1 réponse

Répondre au sujet
cs_MPi 3863 Messages postés mardi 19 mars 2002Date d'inscription 13 mars 2018 Dernière intervention - 15 nov. 2017 à 14:39
+1
Utile
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.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_MPi

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.