Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

probleme boucle

  • Initiateur de la discussion Initiateur de la discussion Florence
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

F

Florence

Guest
Bonjour,

J'ai un probleme avec une boucle ou plus particulierement avec l'instruction qui permet d'ouvrir un fichier. j'ai inscris dans des cellules le nom des fichiers que je souhaite ouvrir en chaine. La macro fonctionne pour le premier fichier mais après elle ne fonctionne plus. La macro s'appelle test.
Quelqu'un peut-il m'aider ??

Merci d'avance et bonne journée à tous.


Florence
 

Pièces jointes

Bonjour !

En ouvrant un nouveau classeur, celui-ci devient actif ! La référence dans la macro "Cells(i, 1).Value" concerne donc le nouveau classeur ouvert...

Il suffit de rajouter une ligne comme suit :

'***********************

Dim i As Integer

For i = 1 To 3
rep = Cells(i, 1).Value
MsgBox " " & rep & "", vbExclamation
Workbooks.Open Filename:="G:\STATS\clients\Fidelity\ByCompanies\" & rep & ".XLS"

'on reviens sur le classeur d'origine !
ThisWorkbook.Activate

Next i

'************************

A disposition pour plus d'informations !

Clément

"S'il n'y a pas de solution, c'est qu'il n'y a pas de problème."
 
COMPLEMENT :

il peut être intéressant de tester si le fichier existe avant d'essayer de l'ouvrir pour éviter les plantages :

'***********************

Dim i As Integer

For i = 1 To 3
rep = Cells(i, 1).Value
MsgBox " " & rep & "", vbExclamation

if FichierExiste🙂="G:\STATS\clients\Fidelity\ByCompanies\" & rep & ".XLS") then

Workbooks.Open Filename:="G:\STATS\clients\Fidelity\ByCompanies\" & rep & ".XLS"

else

msgbox "Le fichier G:\STATS\clients\Fidelity\ByCompanies\" & rep & ".XLS n'existe pas !",vbexclamation,"Fichier inexistant"

endif

'on reviens sur le classeur d'origine !
ThisWorkbook.Activate

Next i

'************************

Public Function FichierExiste(strFichier As String) As Boolean

Dim intLen As Integer

If strFichier <> vbNullString Then
On Error Resume Next
intLen = Len(Dir$(strFichier ))
On Error GoTo PROC_ERR
FileExists = (Not err And intLen > 0)
Else
FileExists = False
End If

PROC_EXIT:
Exit Function

PROC_ERR:
MsgBox "Error: " & err.Number & ". " & err.Description, , _
"FileExists"
Resume PROC_EXIT

End Function

'******************************

Clément
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
392
Réponses
5
Affichages
433
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…