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

Eviter bug macro si fichier introuvable

  • Initiateur de la discussion Initiateur de la discussion Niouf
  • 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 !

Niouf

XLDnaute Occasionnel
Bonjour le forum,

J'utilise le code suivant pour ouvrir des fichiers selon la valeur d'une cellule :
Code:
Dim Cell As Range
      For Each Cell In Range("D7:D12")
          Workbooks.Open "LIEN" & Cell.Value & ".xlsx"
       On Error Resume Next
      Next Cell

J'aimerai contourner l'erreur lorsque le fichier n'existent pas.
PAr exemple, le fichier correspond à la valeur de la cellule 1 s'ouvre, celui de la cellule 2 n'existe pas, la macro saute cette partie et ouvre le fichier correspondant à la valeur de la cellule 3, etc ...

Merci à celui ou celle qui me mettra sur la piste ! 😀
 
Re : Eviter bug macro si fichier introuvable

Bonjour,
as-tu essayé comme suit :
Code:
Dim Cell As Range
      For Each Cell In Range("D7:D12")
       On Error Resume Next
          Workbooks.Open "LIEN" & Cell.Value & ".xlsx"       
      Next Cell


@ + +
 
Re : Eviter bug macro si fichier introuvable

Bonsoir tous,

A mon avis, il est préférable de ne pas mettre le "On Error" dans la boucle mais plutôt dans la zone de déclaration :

Code:
Dim Cell As Range
On Error Resume Next

      For Each Cell In Range("D7:D12")
          Workbooks.Open "LIEN" & Cell.Value & ".xlsx"
      Next Cell

A+
H
 
Re : Eviter bug macro si fichier introuvable

Merci !

Ca fonctionne dans les deux cas, et je rencontre le meme "problème" lors de l'ouverture du fichier. Lorsqu'il me demande si je veux mettre à jour les liaisons, cela stop ma macro le temps de cliquer sur mise à jour.
Il a moyen de shunter ceci ? Afin de rendre la macro totalement autonome ...
 
Re : Eviter bug macro si fichier introuvable

Tu peux essayer ceci :

Code:
Dim Cell As Range
On Error Resume Next

      Application.DisplayAlerts = False
      For Each Cell In Range("D7:D12")
          Workbooks.Open "LIEN" & Cell.Value & ".xlsx"
      Next Cell
      Application.DisplayAlerts = True

Ceci désactive l'affichage des alertes pendant les ouvertures de fichiers et rétablit le fonctionnement habituel d'Excel après la boucle.
 
Re : Eviter bug macro si fichier introuvable

Alors, ce code supplémentaire ne m'affiche plus de message lorsque le fichier est introuvable : nickel pour ce point 🙂

Par contre il me demande toujours pour la mise à jour ...
En cherchant sur internet j'ai trouvé cette possibilité : désactiver dans les options avancées "Mettre à jour les liaisons vers d'autres documents" . Mais rien n'y fait, l'option est cochée systématiquement à l'ouverture du fichier .
 
Re : Eviter bug macro si fichier introuvable

Bonjour,

essayer comme ceci !

Code:
Sub Essai()
Dim Cell As Range
For Each Cell In Range("D7:D12")
    F$ = "LIEN" & Cell.Value & ".xlsx": If Dir(F$) > "" Then Workbooks.Open F$
Next Cell
End Sub
 
Dernière édition:
Re : Eviter bug macro si fichier introuvable

Salut 🙂

Toujours meme problème, la mise à jour des liens ^^
J'ai rajouté Application.DisplayAlerts = False pour ignorer les messages quand le fichier n'existe pas .
Mais je me retrouve au meme point qu'avant ...

Code:
Sub Test()

With Sheets("Travail")

   Dim Cell As Range
   On Error Resume Next
   Application.DisplayAlerts = False

    For Each Cell In Range("D7:D13")
    Lien" & Cell.Value & ".xlsx"
    F$ = "Lien" & Cell.Value & ".xlsx": If Dir(F$) > "" Then Workbooks.Open F$

    Next Cell
      
End With
      
End Sub
 
Re : Eviter bug macro si fichier introuvable

re

il y a une erreur, que fais ceci dans ton code ?

Lien" & Cell.Value & ".xlsx"

c'est:
Code:
For Each Cell In Range("D7:D13")
      F$ = "Lien" & Cell.Value & ".xlsx": If Dir(F$) > "" Then Workbooks.Open F$
 Next Cell
 
Re : Eviter bug macro si fichier introuvable

Trouvé dans l'aide de Workbooks.open :

Code:
Vous pouvez spécifier l’une des valeurs suivantes dans le paramètre UpDateLinks pour déterminer si les références externes (liens) sont mises à jour à l’ouverture du classeur :

Valeur Signification 
0 Les références externes (liens) ne sont pas mises à jour à l’ouverture du classeur. 
3 Les références externes (liens) sont mises à jour à l’ouverture du classeur.

J'ai testé avec
Workbooks.Open F$, 0
ou, au choix
Workbooks.Open F$, 3

A+
H
 
Re : Eviter bug macro si fichier introuvable

Ecoutes j'ai toujours ce fameux message ...

Code:
Sub Macro3()

With Sheets("Travail")

   Dim Cell As Range
   On Error Resume Next
   Application.DisplayAlerts = False

For Each Cell In Range("D7:D13")
'Workbooks.Open "LIEN" & Cell.Value & ".xlsx"
F$ = "LIEN" & Cell.Value & ".xlsx": If Dir(F$) > "" Then Workbooks.Open F$
Workbooks.Open F$, 0

Next Cell
      
End With
        
End Sub
 

Pièces jointes

  • gfdeq.jpg
    23.4 KB · Affichages: 37
Re : Eviter bug macro si fichier introuvable

Essayes comme ça :

Code:
Sub Macro3()
With Sheets("Travail")

   Dim Cell As Range
   Dim F$ As String
   On Error Resume Next
   Application.DisplayAlerts = False

   For Each Cell In Range("D7:D13")
      F$ = "LIEN" & Cell.Value & ".xlsx": If Dir(F$) > "" Then Workbooks.Open F$, 0
   Next Cell
   Application.DisplayAlerts = True  
End With
       
End Sub
 
Re : Eviter bug macro si fichier introuvable

Bonjour Niouf, le Forum

Il faut faire comme ceci

Code:
Sub TEST()
Dim Cell As Range

On Error GoTo Fin
With Sheets("Travail")
For Each Cell In Range("D7:D13")
'Workbooks.Open "LIEN" & Cell.Value & ".xlsx"
F$ = "LIEN" & Cell.Value & ".xlsx": If Dir(F$) > "" Then Workbooks.Open F$
Workbooks.Open F$, 0
Next Cell   
End With
Fin:
Exit sub
End Sub


A+ 😎
 
Re : Eviter bug macro si fichier introuvable

J'ai essayé vos deux codes !

Celui de Lord Nelson fonctionne à merveille : plus aucune fenetre n'apparait, la macro ne stop plus : NICKEl 😀

Merci à vous !
 
- 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

Discussions similaires

Réponses
9
Affichages
313
Réponses
1
Affichages
652
Réponses
4
Affichages
548
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…