Bonjour à toutes et tous,
Encore une fois grace à des recherches sur ce forum, j'ai pu récupérer et tenter d'adapter un code pour un de mes projets.
Je cherche a signaler à l'utilisateur qu'il ne peut y avoir qu'un seul classeur ouvert sur sa session Excel, celui qui contient la macro et qu'il donc fermer tous les autres pour lancer la procédure. (cf msgbox)
Ainsi un msgbox lui indique que au moins autre fichier que celui qui doit lancer la macro finale est ouvert et lui demande de fermer tous les autres documents. Ou si Ok, je laisse la procédure s'exécuter (dans le fichier exemple un msgbox "ok").
Or avec le code dont je me suis inspiré, même si seul mon classeur portant la macro est ouvert le msgbox indique quand même qu'il y a un classeur ouvert.
Comme si l'instruction : If Wbk.Name <> ThisWorkbook.Name renvoyait toujours systématiquement oui.
Est ce que cela peut être lié à mon classeur de macros personnelles (présent dans editeur vb à chaque ouverture Excel) ?
Comment faire en sorte que mon code soit quasi universel et fonctionne sur toutes les configurations utilisateurs ?
En attente de vos conseils
Merci
Cordialement
Hugues
Sub classeur()
Dim Wbk As Workbook
For Each Wbk In Workbooks
If Wbk.Name <> ThisWorkbook.Name Then
MsgBox ("Il y'a au moins un autre classeur ouvert en plus du classeur ou la macro est lancée." & Chr(10) & Chr(10) & "Tous les classeurs doivent être fermés sauf celui qui lance la macro !" & Chr(10) & Chr(10) & "Merci de corriger et de relancer procedure !")
Else
MsgBox ("ok")
End If
Next
End Sub