Loop sur 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,

J'aimerais effectuer une loop qui s'éxécuterait pour chaque feuille qui est active dans mon Workbook.

(Je parle de plusieurs feuilles actives lorsque j'en sélectionne plusieurs avec la souris)

Présentement j'ai ceci mais ile s'applique à toutes les feuilles peu importe que la feuille soit active.

For i = 1 To Worksheets.Count()

Next


Je pourrais aussi utiliser une variable de type collection, mais comment faire pour ajouter les noms de feuilles qui sont actives dans la variable.



Merci pour votre aide...
Eric
 
ceci pour supprimer les feuilles selectionnées
For feuil = 1 To Sheets.Count
If Sheets(feuil).Activate = True Then
active = active & Chr$(34) & Sheets(feuil).Name & Chr$(34) & ','
End If
Next
active = (Left(active, Len(active) - 2))
active = Right(active, Len(active) - 1)
ActiveWindow.SelectedSheets.Delete

Cordialement
G.David
bon j'me casse ya Stargate
 
Bonsoir Éric, bonsoir G.David, bonsoir le forum,

Éric , je m'étais cassé les dents sur ton problème sans parvenir à trouver une solution. C'est G.David qui m'a montré la lumière... ActiveWindow.SelectedSheets.
Juste une remarque avant tout. Il n'y a dans un classeur qu'une seule feuille active même si tu en as sélectionné plusieurs (le nom dans longlet en est gras par rapport aux autres). C'est comme pour les cellules quand tu sélectionnes une plage il n'y a qu'' une seule cellule active (c'est justement celle qui reste en blanc).

Donc je pense que ce que tu veux faire c'est «boucler» sur toutes les feuilles sélectionnées. Je me trompe peut-être, mais il me semble que la fin du code de G.David ne correspond pas à ce que tu cherches car il a interprété ta dernière phrase. En le remerciant pour son aide, je te propose donc ça :


Dim ws As Worksheet
For Each ws In ActiveWindow.SelectedSheets
ws.Activate 'remplace cette ligne par ton propre code
Next ws
 
- 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

C
Réponses
1
Affichages
1 K
Cattleya97
C
P
Réponses
0
Affichages
958
Piblaflib
P
D
Réponses
5
Affichages
942
V
Réponses
7
Affichages
1 K
vinalex
V
P
Réponses
7
Affichages
908
M
Réponses
10
Affichages
1 K
M
Retour