Problème d'impression de page

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

j-fred

XLDnaute Junior
Bonjour le Forum,

sur mon fichier excel

en cliquant sur le bouton Commande j'arrive sur une boite de dialogue et sur imprim je peux soit en validant sur ok ( CommandButton2 )imprimer ma selection ou sur apèrçu ( CommandButton3 )pour avoir la mise en page.

Tout a l'air de fonctionner normalement seulement losque je selectionne plus de 6 ou 7 zones il y a un blocage

Erreur d'execution'1004'
Impossible de définir la propriété PrintArea de la classe Page Setup

alors que sur 1,2,3,4 ou 5 zone aucun problème

y a t il quelqu'un pour me renseigner voir même m'aider à résoudre se problème

ci-dessous les formules utilisées

Option Explicit
Dim tabAdresses As Variant
Dim i As Integer
Private Sub CommandButton2_Click()
Dim Cpt
Cpt = 0
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
'incrémente le compteur
Cpt = Cpt + 1
'définition de la zone d'impression
Dim ZoneImpr As String
ZoneImpr = IIf(Cpt = 1, tabAdresses(i), tabAdresses(i) & "," & ZoneImpr)
ActiveSheet.PageSetup.PrintArea = ZoneImpr
End If
Next i
If Cpt > 0 Then ActiveSheet.PrintOut
Unload Me
End Sub

Private Sub CommandButton3_Click()
Dim Cpt
Cpt = 0
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
'incrémente le compteur
Cpt = Cpt + 1
'définition de la zone d'impression
Dim ZoneImpr As String
ZoneImpr = IIf(Cpt = 1, tabAdresses(i), tabAdresses(i) & "," & ZoneImpr)
ActiveSheet.PageSetup.PrintArea = ZoneImpr
End If
Next i
Unload Me
Call Macro1imprim
Unload Me
End Sub

Private Sub ListBox1_Click()

End Sub

Private Sub UserForm_Initialize()
Dim Nom As Name
Dim tabZones As Variant
Dim i As Integer

tabAdresses = Array()
tabZones = Array()

'Recherche de noms dan sla liste des plages nommées
For Each Nom In ActiveWorkbook.Names
If Left(Nom.Name, 7) = "Feuille" And InStr(1, Nom.RefersTo, ActiveSheet.Name) > 0 Then
'affectation aux tableaux
ReDim Preserve tabZones(UBound(tabZones) + 1)
tabZones(UBound(tabZones)) = Nom.Name
ReDim Preserve tabAdresses(UBound(tabAdresses) + 1)
tabAdresses(UBound(tabAdresses)) = Right(Nom.RefersTo, Len(Nom.RefersTo) - 1)
End If
Next Nom
'Remplissage du ListBox
ListBox1.List() = tabZones
End Sub

Vous remerciant par avance

@ + j-fred
 
- 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

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
479
Réponses
7
Affichages
163
Réponses
10
Affichages
799
Réponses
3
Affichages
665
Retour