Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion nickytchao
  • 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 !

N

nickytchao

Guest
Pouvez vous me dire ce qui cloche dans ce bout de macro (aperçu avant impression)

For Each AvailableSheet In ActiveWorkbook.Worksheets
If AvailableSheet.Visible = True Then
sheets.select
End If
Next
ActiveWindow.SelectedSheets.PrintPreview

J'zi une erreur sur le 'sheets.select', je suis pourtant sur que cette manip a déjà marché... à ceci près qu'avant je sélectionnais toutes les feuilles du document, la j'ai un début de macro qui en cache certaines...
Merci!
 
Re NickyTchao, Le Forum

Comme promis déjà de retour !!! lol

Code:
Sub VisibleSheets()
Dim AvailableSheet As Worksheet

    For Each AvailableSheet In ActiveWorkbook.Worksheets
        If AvailableSheet.Visible = True Then
           AvailableSheet.Select
           Exit For
        End If
    Next
ActiveWindow.SelectedSheets.PrintPreview

End Sub

Tu noteras que je sors de la boucle... Et que j'ai aussi déclaré AvailableSheet

Bon Aprèm
@+Thierry
 
J'avais aussi déclaré availablesheet, (le début de la macro n'apparaît pas) j'imagine que le problème vient du fait que je ne sortais pas du 'for', bon je peux pas tester pour l'instant, j'ai d'autres soucis (plus j'améliore, plus ca foire...) mais j'imagine que ca marchera!
Par contre je comprends pas bien le 'Exit For'...en quoi ca change le résultat?
 
c remoi,
j'ai le même résultat ou presque, il ne m'affiche l'apreçu que pour la première feuille, en fait apparemment il sélectionne, et le fait de sélectionner une autre feuille 'dé- selectionne' la précédente...
Alors j'ai inclu le 'printpreview' dans ma boucle, ca permet de les afficher une par une, pas trop top, mais pour l'instant j'ai que ca...
Merci en tout cas!
 
Bonjour,

Peut-etre avec ce code :

Code:
Sub VisibleSheets()
  
  Dim AvailableSheet As Worksheet
  Dim t() As String
  Dim i As Byte
  i = 0
  
  For Each AvailableSheet In ActiveWorkbook.Worksheets
    If AvailableSheet.Visible = True Then
      ReDim Preserve t(i)
      t(i) = AvailableSheet.Name
      i = i + 1
    End If
  Next
  
  Sheets(t()).Select
  ActiveWindow.SelectedSheets.PrintPreview

End Sub

Je vais manger !

Jean-Pierre
 
- 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

L
Réponses
9
Affichages
1 K
Réponses
1
Affichages
1 K
  • Question Question
Microsoft 365 modifier macro
Réponses
2
Affichages
639
B
Réponses
6
Affichages
786
Banjounet
B
S
Réponses
2
Affichages
6 K
STéphane
S
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…