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

Modif VBA pour feuilles cachées

  • Initiateur de la discussion MARION
  • Date de début
M

MARION

Guest
Bonsoir a tous et a toutes
Me revoila, un petit soucis sur un code ci-dessous, il sert a imprimer des OF qui ce trouve sur des feuilles, chaque feuille est nommée OF1 OF2 OF3 ect
lorque je clique sur un bouton un userform apparaît et je choisi le nombre de feuilles a imprimer.
Le problème est que je masque les feuilles car il y en a 40 et la çà ne marche pas il dit falloir gratter dans le code mais ou? :voici le code
Merci de voir si vous pouvez faire quelque chose pour moi
A+ M


Private Sub VALIDATION_Click()
'selectionne la zone d'impression
Application.ScreenUpdating = False
Dim numOFx As Integer, i As Integer
numOFx = MENU_IMPRESSION.numOF.Value
For i = 1 To numOFx

'mise en page et impression "OF"
Sheets("OF" & i).Select
Range("A1:G55").Select
ActiveSheet.PageSetup.PrintArea = "$A$1:$G$55"
Sheets("OF" & i).PrintOut copies:=4


'mise en page et impression "recette"
Range("i155").Select
ActiveSheet.PageSetup.PrintArea = "$i$1:$o$55"
Sheets("OF" & i).PrintOut copies:=1
Next i


Sheets("planning").Select
Range("a1").Activate



End Sub
 
O

omicron

Guest
Bonsoir Marion,

Je crois effectivement que le problème que tu rencontres est lié au fait que les feuilles sont masquées (Select non autorisé, PrintOut non autorisé)
Une solution consiste a insérer dans la boucle une instruction mour lever le masque et une autre pour le rétablir. Celà ne doit pas avoir d'incidence sur l'affichage puisque le rafraîchissement de l'écran est inhibé.

Le pense par conséquent que le code (simplifié) qui suit devrait marcher, mais sous toutes réserves car je ne l'ai pas testé !!!

=====================================================
Private Sub VALIDATION_Click()
'selectionne la zone d'impression
Application.ScreenUpdating = False
Dim numOFx As Integer, i As Integer
numOFx = MENU_IMPRESSION.numOF.Value
For i = 1 To numOFx

'mise en page et impression "OF"
Sheets("OF" & i).visible=true
ActiveSheet.PageSetup.PrintArea = "$A$1:$G$55"
Sheets("OF" & i).PrintOut copies:=4
ActiveSheet.PageSetup.PrintArea = "$i$1:$o$55"
Sheets("OF" & i).PrintOut copies:=1
Sheets("OF" & i).visible=false
Next i

Sheets("planning").Select
Range("a1").Activate

End Sub
=====================================================

En te souhaitant bon courage pour la suite ....


Omicron
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…