Gestion des erreurs

Bonjour à tous,

j'ai ce code situé en dessous. une erreur peut se produire à chaque condition if (en bleu). S'il y a erreur, je voudrais passer à la condition if suivante. Et si cette condition if est fausse, je voudrais passer à la prochaine condition if et ainsi de suite, jusqu'à atteindre Exit sub.

J'espère que je suis assez précis.

Merci de votre aide

Sub test()

Dim nouveauNom

nouveauNom = Range("B3") & " " & Range("B2")

nouveauNom = Replace(nouveauNom, "/", "_")

If Application.WorksheetFunction.VLookup(Range("B3"), Workbooks("CAPITAL PLANETE.xlsx").Sheets(1).Range("A:A"), 1, False) = Range("B3") Then

ActiveWorkbook.SaveAs Filename:= _

"\\ssi00019\MYRIA AM\Transparence des fonds reporting\CAPITAL PLANETE\" & nouveauNom & ".xlsx", _

FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False

End If

If Application.WorksheetFunction.VLookup(Range("B3"), Workbooks("COURT TERME DYNAMIQUE M.xlsx").Sheets(1).Range("A:A"), 1, False) = Range("B3") Then

ActiveWorkbook.SaveAs Filename:= _

"\\ssi00019\MYRIA AM\Transparence des fonds reporting\COURT TERME DYNAMIQUE M\" & nouveauNom & ".xlsx", _

FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False

End If

If Application.WorksheetFunction.VLookup(Range("B3"), Workbooks("MULITALENTS M.xlsx").Sheets(1).Range("A:A"), 1, False) = Range(B3) Then

ActiveWorkbook.SaveAs Filename:= _

"\\ssi00019\MYRIA AM\Transparence des fonds reporting\MULTITALENTS M\" & nouveauNom & ".xlsx", _

FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False

End If

If Application.WorksheetFunction.VLookup(Range("B3"), Workbooks("UFF GESTION FLEXIBLE 0-30.xlsx").Sheets(1).Range("A:A"), 1, False) = Range(B3) Then

ActiveWorkbook.SaveAs Filename:= _

"\\ssi00019\MYRIA AM\Transparence des fonds reporting\UFF GESTION FLEXIBLE 0-30\" & nouveauNom & ".xlsx", _

FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False

End If

Exit Sub

End Sub

Bonsoir MaelJourdain,

En principe, la ligne ci-dessous devrait correspondre :

On error resume next

A utiliser avec discernement... A+ Daniel

Bonjour Daniel,

Si j'utilise la ligne On error resume next, alors l'instruction de classement de ma feuille excel s'active alors que justement, je voudrais la sauter.


en fait à chaque fois qu'il y a une erreur je voudrais sauter 3 lignes

Alors avant chaque condition, il faut mettre :

On Error Goto ...

Suivi du nom de la partie de code à exécuter, exemple :

On Error Goto Suite_1
Condition_1 ...
Suite_1:
On Error Goto Suite_2
Condition_2 ....

Bonjour,

Si je fais la méthode dont tu parles, la gestion d'erreur boucle. je ne cherche pas à corriger l'erreur mais seulement "sauter" une partie de la macro en cas de beug.

Merci à toi

(La macro en question :

Sub test2()

Dim nouveauNom

nouveauNom = Range("B3") & " " & Range("B2")

nouveauNom = Replace(nouveauNom, "/", "_")

On Error GoTo erreur4

If Application.WorksheetFunction.VLookup(Range("B3"), Workbooks("UFF GESTION FLEXIBLE 0-70.xlsx").Sheets(1).Range("A:A"), 1, False) = Range("B3") Then

ActiveWorkbook.SaveAs Filename:= _

"\\ssi00019\MYRIA AM\Transparence des fonds reporting\UFF GESTION FLEXIBLE 0-70\" & nouveauNom & ".xlsx", _

FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False

End If

erreur4:

On Error GoTo erreur5

If Application.WorksheetFunction.VLookup(Range("B3"), Workbooks("UFF GESTION FLEXIBLE 0-30.xlsx").Sheets(1).Range("A:A"), 1, False) = Range("B3") Then

ActiveWorkbook.SaveAs Filename:= _

"\\ssi00019\MYRIA AM\Transparence des fonds reporting\UFF GESTION FLEXIBLE 0-30\" & nouveauNom & ".xlsx", _

FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False

End If

erreur5:

Range("V1") = 3

End Sub

Peut-être remplacer les Goto par des Resume...

Rechercher des sujets similaires à "gestion erreurs"