Identifier feuilles actives

  • Initiateur de la discussion Initiateur de la discussion guitarde
  • 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 !

G

guitarde

Guest
Bonjour cher usagers du forum,

Je cherche le code vba pour identifier les feuilles actives, la fonction ActiveSheet.Name ne retourne que la première feuille qui est active.

ex. sélection de plusieurs feuilles
Sheets(Array('Bateaux', 'Cédule', 'Inventaires', 'USA')).Select

vSheet = ActiveSheet.Name 'donnera que Bateaux


Peut-être qu'il faudrait une loop qui vérifie le status de chaque feuille ?

Merci pour votre aide.
Eric
 
Bonsoir Guitarde, 🙂

Je pense que ton pb vient de la propriété Name en elle même, qui fort logiquement ne peux concerner qu'un objet, ou un ensemble d'objet, donc Une chose.

Ce que tu peux faire c'est de boucler sur tes feuilles avec une For Each Feuil... Next Feuil (Feuil = variable à définir) dans ton classeur, et de tester chacune d'elles en implémentant les noms des actives au passage...

Bon courega,

Bfr
 
Bonsoir Guitarde, 🙂

Je pense que ton pb vient de la propriété Name en elle même, qui fort logiquement ne peux concerner qu'un objet, ou un ensemble d'objet, donc Une chose.

Ce que tu peux faire c'est de boucler sur tes feuilles avec une For Each Feuil... Next Feuil (Feuil = variable à définir) dans ton classeur, et de tester chacune d'elles en implémentant les noms des actives au passage...

Bon courega,

Bfr
 
Avec la boucle je crois que je vais pouvoir ajouter le nom des feuilles actives dans une variable de type collection.

Je pourrais plus loin dans ma macro re-sélectionner les feuilles en utilisant cette variable.

Merci pour votre aide.
Eric
 
J'ai finalement réussi avec une variable de type ARRAY. La boucle détermine les feuilles qui sont actives, ajoute le nom des feuilles dans la variable.

Ensuite je fais différentes opérations et ensuite je peux ré-activer les feuilles comme au départ.



Sub test()

Dim F As Worksheet
Dim MyActiveSheets() As String
Dim X As Byte

For Each F In Windows(1).SelectedSheets
ReDim Preserve MyActiveSheets(X)
MyActiveSheets(X) = F.Name
X = X + 1
Next F

'All my other code

Worksheets(MyActiveSheets).Select

End Sub
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

W
Réponses
4
Affichages
3 K
WhatIsVBA
W
M
Réponses
11
Affichages
2 K
Melidan2006
M
E
Réponses
11
Affichages
3 K
micmond
M
K
Réponses
0
Affichages
3 K
K
N
  • Question Question
Réponses
5
Affichages
3 K
B
Réponses
8
Affichages
3 K
bsuge
B
G
Réponses
3
Affichages
927
guitarde
G
P
Réponses
7
Affichages
1 K
P
E
Réponses
2
Affichages
2 K
E
Retour