Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

VBA : Détecter si d'autres classeurs sont ouverts

  • Initiateur de la discussion Initiateur de la discussion dionys0s
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

dionys0s

XLDnaute Impliqué
Bonjour le forum


J'aurais aimé savoir s'il est possible par VBA de détecter si d'autres classeurs sont ouverts. Peu importe leur nom. J'aimerais qu'à l'ouverture de mon classeur (Formulaire.xls en l'occurence), un msgbox s'affiche si d'autres classeurs sont ouverts, et rien si seul mon Formulaire.xls l'est.

Je saurais le faire pour un classeur au nom connu d'avance, mais ne sais pas le généraliser à tout classeur ouvert, quel que soit son nom.

D'avance merci pour votre aide 🙂
 
Re : VBA : Détecter si d'autres classeurs sont ouverts

Bonjour,

Et meilleurs vœux à tous

Attention, si tu as un classeur de macros personnalisé, celui-ci sera comptabilisé avec la commande que t'a donné Michel....

Bonne journée
 
Re : VBA : Détecter si d'autres classeurs sont ouverts

Re, Bonjour CousinHub


Attention, si tu as un classeur de macros personnalisé, celui-ci sera comptabilisé avec la commande que t'a donné Michel....

Dans un sens, c'est tant mieux car si on a des macros complémentaires d'installées, cela poserait problème 🙂 (à moins que ce soit d'autres types de classeurs pour les macros personnalisées 😕).

Ensuite, cela dépend de ce que l'on recherche, personnellement, je m'en sers si je ne veux pas qu'il y ai plus d'un ou de n classeurs d'ouvert pour déclencher une macro..
 
Re : VBA : Détecter si d'autres classeurs sont ouverts

Re, bonjour bhbh

je ne suis pas bien certain de comprendre ta mise en garde bhbh.
En gros pour le moment, quand mon fichier qui contient tout un tas de macros s'ouvre, il se ferme après avoir gentiment prié l'utilisateur de fermer tous les autres classeurs et de revenir sur celui-ci après avoir fait tout ça. Donc il ne ferme que le classeur sensible, sans le modifier.

Si en revenche rien d'autre n'est ouvert, alors les macros se lancent.

Vous voyez un risque à procéder de cette façon ?
Je suis pas certain de comprendre ce qu'est un classeur personnalisé en fait...
 
Re : VBA : Détecter si d'autres classeurs sont ouverts

Re le forum

J'ai compris la mise en garde. Et elle était judicieuse.
Existe-t-il un moyen rapide de détecter si un PERSO.XLS existe chez l'utilisateur du fichier ? Auquel cas il faut autoriser 2 classeurs ouverts sinon pas moyen d'utiliser le fichier

A+
 
Re : VBA : Détecter si d'autres classeurs sont ouverts

Bonjour dionis0s, MJ13, bhbh,
Etant interressé par le sujet, j'ai fais ceci:
VB:
Sub Classeur_test()
Dim W As Workbook, Liste$
For Each W In Workbooks
    Liste = Liste & W.Name & vbLf
Next W
MsgBox Liste & Workbooks.Count
End Sub
Ce qui m'a montré que l'on peux vérifier la présence d'un PERSO.xls mais pas d'une macro complémentaire de type .xla
Cordialement
 
Re : VBA : Détecter si d'autres classeurs sont ouverts


Bonjour à tous,

On peut effectivement tester le nom ... mais dans la mesure où il s'agit d'ordinateurs d'utilisateurs, chaque utilisateur peut, à loisir, donner le nom qu'il désire à son fichier de macros personnalisées ...

A +
🙂
 
Re : VBA : Détecter si d'autres classeurs sont ouverts

Re à tous



Ok, il vaut mieux faire attention car si on masque des classeurs, on ne les voit pas à l'écran et pourtant, ils sont comptabilisés dans le Workbooks.count.

Il vaudrait peut-être mieux tester le nombre de fichiers visibles 😕.
 
Re : VBA : Détecter si d'autres classeurs sont ouverts

Bonjour à tous,

si l'on considère que le classeur de macro perso est généralement masqué..
Code:
Dim i As Byte, wd As Window
For Each wd In Windows
    If wd.Visible = True Then i = i + 1
Next wd
MsgBox i & " classeur(s) ouvert(s) et visible(s)..."

bonne fin d'après midi
@+
 
Re : VBA : Détecter si d'autres classeurs sont ouverts

Re, Bonjour Pierrot

Ah, Pierrot, ton code, il me plaît bien, j'avais bien tenté avec workbook(i).visible, mais cela ne fonctionnait pas.

Merci pour l'astuce. J'ai bien fait de venir 😉.

Bonne soirée 🙂.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
17
Affichages
2 K
Réponses
12
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…