Gestion d'erreur sur boucle

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

Temjeh

XLDnaute Accro
Bonjour à tous

Après 1 hrs d'essaie avec des exit for et go to fin je solicite votre aide!!!

J'aimerais juste qu'il passe a l'autre Range si le fichier n'existe pas:

Workbooks.Open Filename:=ActiveWorkbook.Path & "\" & Range("A" & a).Value

PHP:
Application.DisplayAlerts = False

ChDir ActiveWorkbook.Path
Sheets("Liste").Select
        
        For a = 1 To Range("a65000").End(xlUp).Row
        
            Dim z
            z = Range("A" & a).Value
bug ici>>>>  Workbooks.Open Filename:=ActiveWorkbook.Path & "\" & Range("A" & a).Value
            Set Wbk = ActiveWorkbook
            
                    For i = 1 To Range("E65000").End(xlUp).Row
                        If UCase(Range("E" & i).Value) = UCase(z) Then
                            Range("E" & i).Select
                                    Selection.EntireRow.Copy
                                        Windows("Cherche_NPV.xls").Activate
                                             Sheets("NPV").Activate
                                             Range("E65000").End(xlUp).Offset(1, -4).Select
                                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
                            Wbk.Activate
                        End If
                    Next i
                
             ActiveWindow.Close SaveChanges:=False
                    Unload Me
                            Columns("A:H").Select
                                Selection.Sort Key1:=Range("E1"), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
                    Range("A1").Select
             Sheets("Liste").Select

        Next a
Sheets("NPV").Select
Application.DisplayAlerts = True

Merci beaucoup

Temjeh
 
Dernière édition:
Re : Gestion d'erreur sur boucle

Bonjour
________________________
FileExists, méthode


Description

Renvoie la valeur True si un fichier spécifié existe, False dans le cas contraire.

Syntaxe

object.FileExists(filespec)

La syntaxe de la méthode FileExists comprend les éléments suivants :

Élément Description
object Correspond toujours au nom d'un objet FileSystemObject.
filespec Le nom du fichier dont l'existence est à déterminer. Une spécification de chemin complet (absolue ou relative) est nécessaire si le fichier ne se trouve pas dans le dossier courant.
_______________________________________________
tu testes l'existence, si oui tu ouvres, si non tu boucles

A+
 
Re : Gestion d'erreur sur boucle

Merci pour ce conseil j'y était justement mais ca bug encore:

Function FileExists(FileName As String) As Boolean
FileExists = Dir(FileName) <> ""
End Function


Application.DisplayAlerts = False

ChDir ActiveWorkbook.Path
Sheets("Liste").Select

For a = 1 To Range("a65000").End(xlUp).Row

Dim z
z = Range("A" & a).Value
If FileExists(ActiveWorkbook.Path & "\" & z & ".xls") = False Then GoTo fin
Workbooks.Open FileName:=ActiveWorkbook.Path & "\" & Range("A" & a).Value
Set Wbk = ActiveWorkbook

For i = 1 To Range("E65000").End(xlUp).Row
If UCase(Range("E" & i).Value) = UCase(z) Then
Range("E" & i).Select
Selection.EntireRow.Copy
Windows("Cherche_NPV.xls").Activate
Sheets("NPV").Activate
Range("E65000").End(xlUp).Offset(1, -4).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Wbk.Activate
End If
Next i

ActiveWindow.Close SaveChanges:=False
Unload Me
Columns("A:H").Select
Selection.Sort Key1:=Range("E1"), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
Range("A1").Select
Sheets("Liste").Select
fin:
Next a
Sheets("NPV").Select
Application.DisplayAlerts = True

Merci

Temjeh
 
Re : Gestion d'erreur sur boucle

bonjour

essaye comme ca temjeh

Code:
Dim toto

Application.DisplayAlerts = False
ChDir ActiveWorkbook.Path
Sheets("Liste").Select

Set toto = CreateObject("Scripting.FileSystemObject")

For a = 1 To Range("a65000").End(xlUp).Row
z = Range("A" & a).Value
If toto.FileExists(ActiveWorkbook.Path & "\" & z & ".xls") Then
    'ton traitement
End If
Next a
salut
 
Re : Gestion d'erreur sur boucle

Oui merci beaucoup Hervé

j'avais justement ce code dans ma banque avec toto que j'essayais d'adapté

Dim toto

Set toto = CreateObject("Scripting.FileSystemObject")

If toto.FileExists("c:\avev\dull.xls") Then
MsgBox "Ce fichier existe."
Else
MsgBox "Ce fichier n'existe pas."
End If


C'est la perfection

merci

Merci aussi ERIC S

Temjeh
 
- 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
5
Affichages
915
Réponses
15
Affichages
791
Réponses
10
Affichages
792
Réponses
8
Affichages
392
Réponses
1
Affichages
325
Retour