ERREUR 5 : Argument/Appel de procédure incorrect [Résolu]

Signaler
Messages postés
27
Date d'inscription
jeudi 5 mai 2011
Statut
Membre
Dernière intervention
18 mai 2011
-
Messages postés
27
Date d'inscription
jeudi 5 mai 2011
Statut
Membre
Dernière intervention
18 mai 2011
-
Bonjour,
Quand je lance le code suivant, un message d'erreur au niveau du Loop While Error apparait: "argument ou appel de procédure incorrect"
Je ne comprends pas d'où peut venir l'erreur car j'ai utilisé quasiment le même code dans une autre macro, et cela sans problème.

Voici le code :
Dim wb As Workbook
Dim ws As Worksheet
    
Do           'OUverture jusqu'à plus d'erreurs
Application.DisplayAlerts=False                               'N'affiche pas de message d'erreur dans le cas où le fichier n'existe pas

mois = mois -1            
      'On décrémente le num du   mois (1er passage => fichier inexistant, passages suivants => mois précédent

If mois= 0 then 
    'Cas du passage à l'année précédente
            mois = 12
            annee = annee - 1
End If
        
date_fichier = CStr(mois) + "-" + annee
chemin_fichier = calcul_chemin(chemin_fichier1, chemin_fichier2, annee, date_fichier)
        
Dim nom_feuille As Variant
nom_feuille = "Q.S International " + Left(MonthName(mois), 3) + ". CTAR"             
       'le nom de la feuille varie selon la date
        
Set wb Workbooks.Open(chemin_fichier, UpdateLinks 3, ReadOnly = True)       'Tentative d'ouverture
        
Set ws = wb.Worksheets(nom_feuille)

Loop While Error
=> erreur 5

J'ai essayé en changeant par Loop until not error, et j'obtiens alors l'erreur d'exécution numéro 13 (Incompatibilité de type).

Je ne comprends pas d'où peut venir l'erreur.
Merci de votre aide. (Si besoin de détails supplémentaires, il n'y a pas de problème)

Hélène

2 réponses

Messages postés
420
Date d'inscription
vendredi 17 novembre 2006
Statut
Membre
Dernière intervention
15 juillet 2014
6
Bonjour,

Et avec cette méthode ?
On Error Resume Next
Do
    'Initialisation de l'erreur
    Err.Clear

    'Votre code

'Si err.Number est à 0 c'est qu'aucune erreur ne c'est produite
Loop While (Err.Number <> 0)
Messages postés
27
Date d'inscription
jeudi 5 mai 2011
Statut
Membre
Dernière intervention
18 mai 2011

Merci foliv57 !
Cette méthode a l'air de fonctionner !