Grâce à l'aide du forum, j'ai réussi à faire fonctionner mon code qui consistait à activer un classeur (déjà ouvert) dont le nom commençait par REQUÊTE.
'Si présence d'un classeur commençant par REQUETE l'active
If UCase(wb.Name) Like "REQUÊTE*" Then wb.Activate: Exit For
Next wb
Mon souci maintenant c'est de ne pas poursuivre la procédure si le système ne trouve pas de fichier commençant par REQUÊTE...
J'ai bien essayé d'ajouter
'If Not UCase(wb.Name) Like "REQUÊTE*" Then
mais cela ne fonctionne pas !
Avec ce rajout "bricolé", même s'il existe un classeur ouvert commençant par REQUÊTE le système m'affiche le message "Pas de fichier OUVERT".
Je pense que c'est la notion de UCASE que je ne maitrise pas et qui ne doit pas convenir à mon projet.
Quelqu'un aurait-il une solution à mon problème?
D'avance merci à ceux qui pourront m'aider à y voir plus clair.
Bonne journée à tous
Mon code complet
Sub test ()
Dim wb As Workbook
For Each wb In Workbooks
'vérifie qu'il a bien un classeur ouvert commençant par REQUETE
'Si ce n'es pas le cas sort de la mcro après MGBOX Info
'If Not UCase(wb.Name) Like "REQUÊTE*" Then
'MsgBox ("Pas de fichier ouvert")
'Exit For
'Exit Sub
'End If
'Si présence d'un classeur commençant par REQUETE l'active
If UCase(wb.Name) Like "REQUÊTE*" Then wb.Activate: Exit For
Next wb
Bonjour Chris,
Je ne pense pas que ce soit Ucase qui pose problème, mais la structure de votre macro.
Essayez celle ci, je l'ai testée et elle marche correctement :
VB:
Sub test()
Dim wb As Workbook
For Each wb In Workbooks
'Vérifie si le classeur exéminé commence par REQUÊTE
If UCase(wb.Name) Like "REQUÊTE*" Then
wb.Activate ' Si oui, on l'active
Exit Sub ' Et on sort de la macro
End If
Next
'Si on arrive ici, c'est qu'aucun fichier ne commence par REQUÊTE
MsgBox ("Pas de fichier ouvert commençant par REQUÊTE")
End Sub
Bonjour Chris,
Je ne pense pas que ce soit Ucase qui pose problème, mais la structure de votre macro.
Essayez celle ci, je l'ai testée et elle marche correctement :
VB:
Sub test()
Dim wb As Workbook
For Each wb In Workbooks
'Vérifie si le classeur exéminé commence par REQUÊTE
If UCase(wb.Name) Like "REQUÊTE*" Then
wb.Activate ' Si oui, on l'active
Exit Sub ' Et on sort de la macro
End If
Next
'Si on arrive ici, c'est qu'aucun fichier ne commence par REQUÊTE
MsgBox ("Pas de fichier ouvert commençant par REQUÊTE")
End Sub
Après plusieurs tests je confirme que cela fonctionne.
J'ai du trouver l'endroit où ajouter le reste de ma procédure mais je pense que je tiens le bon bout.
Du coup voilà cela donne pour ceux qui auraient les mêmes besoins que moi.
Merci encore et bonne journée
Sub test()
Dim wb As Workbook
For Each wb In Workbooks
'Vérifie si le classeur exéminé commence par REQUÊTE
If UCase(wb.Name) Like "REQUÊTE*" Then
wb.Activate ' Si oui, on l'active Le reste de ma procédure à traiter si classeur trouvé ......
Exit Sub ' Et on sort de la macro
End If
Next
'Si aucun fichier ne commence par REQUÊTE
MsgBox ("Pas de fichier ouvert commençant par REQUÊTE")