Bonjour à tous,
Je suis nouveau sur ce forum, J'utilise assez souvent Vba afin de me simplifier la vie pour l'utilisation de classeur excel.
Malheureusement, sur mon dernier classeur en date, je bute sur un obstacle.
J'ai créé une macro qui me permet de définir des zones d'impression en fonction de la présence ou non d'une valeur dans une des cellules de cette zone. La macro fait très bien son travail, mais lorsque que je dépasse un certain nombre de zones d'impression, j'ai une erreur d'exécution '1004' : "Impossible de définir la propriété PrintArea de la classe PageSetup".
Il semblerait que j'atteigne le nombre maximal de zones d'impression de la fonction PrintArea. Auriez-vous une solution pour contourner ce problème ?
Voici la macro en question :
Merci d'avance pour votre aide !
Je suis nouveau sur ce forum, J'utilise assez souvent Vba afin de me simplifier la vie pour l'utilisation de classeur excel.
Malheureusement, sur mon dernier classeur en date, je bute sur un obstacle.
J'ai créé une macro qui me permet de définir des zones d'impression en fonction de la présence ou non d'une valeur dans une des cellules de cette zone. La macro fait très bien son travail, mais lorsque que je dépasse un certain nombre de zones d'impression, j'ai une erreur d'exécution '1004' : "Impossible de définir la propriété PrintArea de la classe PageSetup".
Il semblerait que j'atteigne le nombre maximal de zones d'impression de la fonction PrintArea. Auriez-vous une solution pour contourner ce problème ?
Voici la macro en question :
VB:
Sub zoneimp()
Dim Plage As String
Dim plage2 As String
Dim place3 As String
Dim plagetot As String
Dim A As String
Dim C As String
Dim D As String
Dim E As String
Dim F As String
plage3 = "AA1:AH47"
Plage = "A1:I44"
A = 48
For I = 1 To 35
C = A - 1
D = A + 43
If Sheets("Webbing - Schema").Range("I" + A) <> 0 Then
Plage = Plage & "," & "A" & C & ":" & "I" & D
End If
A = A + 46
Next
plage2 = "N1:V18"
A = 22
For I = 2 To 45
C = A - 1
D = A + 18
If Sheets("Webbing - Schema").Range("V" + A) <> 0 Then
plage2 = plage2 & "," & "N" & C & ":" & "V" & D
Else
End If
A = A + 20
Next
plagetot = Plage & "," & plage2 & "," & plage3
Sheets("Webbing - Schema").PageSetup.PrintArea = plagetot
End Sub
Merci d'avance pour votre aide !