oasisjf
Messages postés30Date d'inscriptionjeudi 29 novembre 2007StatutMembreDernière intervention15 mai 2008
-
1 mars 2008 à 15:32
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 2013
-
2 mars 2008 à 16:57
Bonjour le Forum,
Besoins d'aide en effet j'ai réalisé un Userform dans lequel il ya un bouton pour pouvoir visualiser les plages à imprimer de ma Feuille1 d' Excel
En cliquant sur unpremier bouton situé sur ma Feuille1 j'appel l'Userform là ont y triouve un listbox et bouton "CommandButton3".
Dans le ListBox toutes mes plages soit 18 au total s'affiche en suite à moi de selectionner les plages que je veux visulaser puis je cique sur un autre bouton "CommandButton3" et j'ai mon aperçu via un module1 "Macro1imprim".
Lorsque je selectionne de 1 à 7 plage tous fonctionne parfaitement bien PARCONTRE lorsque je veux plus de 7 plages Erreur :
Erreur d'execution '1004':
Impossible de définir la propriété PrintArea de la classe PageSetup
ma commande :
Private Sub CommandButton3_Click()
Sheets("Feuille1 ").Unprotect
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 StringZoneImpr 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 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
Dim hwnd As Long, Style As Long
End Sub
je n'arrive pas à trouver j'espère avoir votre aide
merci<!-- / message --><!-- sig -->
oasisjf
Messages postés30Date d'inscriptionjeudi 29 novembre 2007StatutMembreDernière intervention15 mai 2008 1 mars 2008 à 22:40
Re,
Pour l'instant j'ai un peu avancé en renomant le nom de ma feuille1 par "'f" simplement je peu passer de 7 à 17 plages en visu, Par contre il me reste la plage 18 que je ne peu visualiser par ce que l'erreur 1004 reviens.