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

selection de feuilles avec array

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

a26

XLDnaute Occasionnel
Bonjour,
Quelqu'un saurait-il sélectionner les feuilles en partant de la 8e jusqu'à la dernière avec array sans pour autant nommer les onglets dont les noms sont variables.
Merci beaucoup.
Cordialement,
a26
 
Re : selection de feuilles avec array

Bonjour,

essaye ceci, enfin si j'ai bien compris :
Code:
Option Explicit
Sub test()
Dim i As Integer
For i = 8 To Worksheets.Count
    Worksheets(i).Select i = 8
Next
End Sub

bonne journée
@+
 
Re : selection de feuilles avec array

Bonjour a26, Pierrot93,

une autre solution ( moins simple)

Code:
Sub SelectSheetArray()
 ReDim TabSheet(Worksheets.Count - 8)
 For i = 8 To Worksheets.Count
    TabSheet(i - 8) = i
 Next
 Sheets(TabSheet).Select
End Sub

A+
 
Re : selection de feuilles avec array

J'ai essayé vos propositions mais sans resultats. Je vous joins la macro cela sera plus parlant
Sub margesetzone()
Dim S As Worksheet
'---
Application.ScreenUpdating = False
For Each S In Worksheets(Array(8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25))
With S.PageSetup
.Orientation = xlPortrait
.CenterHorizontally = True
.LeftMargin = "0"
.RightMargin = "0"
.TopMargin = "30"
.BottomMargin = "0"
zoneimpression S
largeurco S
hauteurco S
End With
Next S
Sheets("BD").Select
Application.ScreenUpdating = True
End Sub
trois macro sont liées mais n'ont pas d'incidence sur son fonctionnement.
Message d'erreur : Erreur de compilation Next sans For
 
Re : selection de feuilles avec array

Re,

avec le code proposé au post #3, on obtient un tableau contenant les index de feuilles souhaitées. Il n'y a plus qu'a l'intégrer à votre macro:

Code:
...
ReDim TabSheet(Worksheets.Count - 8)
 For i = 8 To Worksheets.Count
    TabSheet(i - 8) = i
 Next
 'Sheets(TabSheet).Select  ' ligne devenue inutile

For Each S In Worksheets(TabSheet)
...

A+
 
Re : selection de feuilles avec array

Merci à vous deux cela fonctionne.
Une question encore si je peux. Est-il normal que cette macro soit si lente ?
Bon après-midi.
Cordialement,
a26
 
Re : selection de feuilles avec array

Bonjour a26, Pierrot, Paf, 🙂

Est-il normal que cette macro soit si lente ?
Les macros de mise en page le sont toujours (je suppose que l'ordinateur converse avec l'imprimante par défaut, et pendant qu'ils papotent...)
Il y a des moyens de raccourcir le temps en faisant la mise en page avec une macro XL4
voir par là : McGimpsey & Associates : Excel : Bypassing Slow VBA PageSetup
 
- 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
10
Affichages
462
Réponses
6
Affichages
447
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…