ERREUR 5 : Argument/Appel de procédure incorrect

Résolu
heleneML Messages postés 27 Date d'inscription jeudi 5 mai 2011 Statut Membre Dernière intervention 18 mai 2011 - 9 mai 2011 à 11:29
heleneML Messages postés 27 Date d'inscription jeudi 5 mai 2011 Statut Membre Dernière intervention 18 mai 2011 - 9 mai 2011 à 14:12
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

foliv57 Messages postés 420 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 15 juillet 2014 9
9 mai 2011 à 14:02
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)
3
Rejoignez-nous