VBA Excel - Comment sélectionner plusieurs feuilles non contigües
par
, 23/06/2019 à 11h45 (137 Affichages)
Nous sommes amené régulièrement à devoir sélectionner plusieurs feuilles afin par exemple de les imprimer.
Lorsque l'on sélectionne une feuille, celle qui était précédemment sélectionnée ne l'est plus.
Manuellement pour sélectionner des feuilles non contigües, nous avons la possibilité d'utiliser la combinaison de la sélection de la feuille et de la touche Ctrl
En VBA, il suffit de passer la valeur False à l'argument Replace pour ne pas perdre la ou les sélections précédentes.
Exemple de la sélection des feuilles nommées [Sommaire] et [Article]
Dans la ligne de code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Sub SheetsSelected() Dim SheetName() Dim s As Integer SheetName = Array("Sommaire", "Article") For s = 0 To UBound(SheetName) Worksheets(SheetName(s)).Select Replace:=(s = 0) Next If MsgBox("Dissocier les feuilles sélectionnées", vbYesNo, "Démo multi sélection de feuilles") = vbYes Then Worksheets("Sommaire").Select End If End Sub
Pourquoi utiliser le test logique s=0 ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part Worksheets(SheetName(s)).Select Replace:=(s = 0)
Parce-que tout simplement il est important de ne pas conserver la sélection de la feuille active