Problème de macro if, Else

Bonjour à tous,

je vous écris sur ce forum pour vous solliciter de votre aide car je bloque sur une macro qui ne fonctionne pas comme je le souhaiterai.

La macro est la suivante :

Sub Bouton1_Clic()

Dim wb As Workbook
For Each wb In Workbooks
'Vérifie si le classeur ouvert commence par CLASSEMENT
If UCase(wb.Name) Like "CLASSEMENT*" Then
Call Module2.Bouton2_Clic

Else
MsgBox ("Pas de fichier ouvert commençant par CLASSEMENT")
Exit Sub

End If
Next
End Sub

En effet, lorsque le fichier "CLASSEMENT" est ouvert, l'appel de la macro "Module2.Bouton2_Clic" ne marche pas mais Il apparaît le msgbox informant "Pas de fichier ouvert commençant par CLASSEMENT". Et je ne comprends pas pourquoi la msgbox apparaît alors que le fichier commençant par CLASSEMENT est bien ouvert.

Je pense qu'il doit y avoir un problème d'utilisation de If, Then, Else...

Remarque : Le fichier CLASSEMENT est un fichier issu d'une extraction d'un ERP et son suffixe n'est jamais le même.

Je ne sais pas si je suis clair dans mes explications...

Merci d'avance pour votre aide.

Koikoi

Bonjour Koikoi et bienvenu, bonjour le forum,

Si le premier classeur de la liste ne commence pas par CLASSEMENT le code passe à Else, affiche le message et sort de la procédure. Par conséquent la boucle ne se fait pas sur tous les classeurs ouverts. Essaie comme ça :

Sub Bouton1_Clic()
Dim wb As Workbook

For Each wb In Workbooks
    'Vérifie si le classeur ouvert commence par CLASSEMENT
    If UCase(wb.Name) Like "CLASSEMENT*" Then
        Call Module2.Bouton2_Clic
        Exit Sub
    End If
Next wb
MsgBox ("Pas de fichier ouvert commençant par CLASSEMENT")
End Sub

Bonjour ThauTheme,

Merci pour ta réponse et solution proposée qui fonctionne bien et je comprends mieux le problème.

Je te remercie pour ton aide précieuse.

Bon dimanche.

Koikoi

Rechercher des sujets similaires à "probleme macro else"