Capitaine Flame
XLDnaute Nouveau
Bonjour,
J'ai un petit problème d'impression avec une macro.
Je résume.
A partir d'un tableau excel, dans lequel je rentre des informations comme le nom du client, le N° de la commande, la quantité, la date..., je sélectionne une famille (Sport_co ou Athlé), puis un sport (Basket, Foot...), et enfin une reférence produit.
Cette hierarchisation me premet de donner un chemin d'accès pour aller chercher un fichier excel du même nom produit pour imprimer toutes les feuilles qui le compose.
Mon problème est que dans ma macro je cite les feuilles à imprimer, mais suivant le fichier choisi, je n'ai pas toujours le même nombre de feuille.
Avec la macro suivante, je suis bloqué dès que le fichier choisi est avec 2 feuilles. La zone qui me pose problème est en rouge.
Avez-vous une soultion ?
Merci d'avance
Voici la macro :
Sub valider()
Dim z As Integer
Dim t As Integer
Dim i As Integer
Dim Filename1 As String
Dim q As Integer
Dim co As Integer
Dim cli As String
Dim dat As Date
Dim del As Date
Dim galv As String
Dim peint As String
With Sheets("Lancement")
z = Range("I65536").End(xlUp).Row
i = 8
t = z + 1
Do While i < t
q = Range("D" & i).Value
co = Range("C" & i).Value
cli = Range("B" & i).Text
dat = Range("E" & i).Value
del = Range("F" & i).Value
galv = Range("G" & i).Value
peint = Range("H" & i).Value
If Range("I" & i).Text = "Armatures_Standards" Then
Filename1 = "M:\Bureau Etudes\Produits\" & Range("I" & i).Text & "\" & Range("J" & i).Text & "\" & Range("J" & i).Text & "_Lancement_atelier"
Else
Filename1 = "M:\Bureau Etudes\Produits\" & Range("I" & i).Text & "\" & Range("J" & i).Text & "\" & Range("K" & i).Text & "\" & Range("K" & i).Text & "_Lancement_atelier"
End If
Workbooks.Open (Filename1)
Range("T7") = q
Range("E9") = co
Range("L9") = cli
Range("E10") = dat
Range("E12") = del
If Range("M13") = "" Then
Range("M13") = galv
Else
End If
If Range("T13") = "" Then
Range("T13") = peint
Else
End If
ActiveWorkbook.Worksheets(1).PrintPreview
ActiveWorkbook.Worksheets(2).PrintPreview
ActiveWorkbook.Worksheets(3).PrintPreview
ActiveWorkbook.Close
i = i + 1
Loop
End With
End Sub
J'ai un petit problème d'impression avec une macro.
Je résume.
A partir d'un tableau excel, dans lequel je rentre des informations comme le nom du client, le N° de la commande, la quantité, la date..., je sélectionne une famille (Sport_co ou Athlé), puis un sport (Basket, Foot...), et enfin une reférence produit.
Cette hierarchisation me premet de donner un chemin d'accès pour aller chercher un fichier excel du même nom produit pour imprimer toutes les feuilles qui le compose.
Mon problème est que dans ma macro je cite les feuilles à imprimer, mais suivant le fichier choisi, je n'ai pas toujours le même nombre de feuille.
Avec la macro suivante, je suis bloqué dès que le fichier choisi est avec 2 feuilles. La zone qui me pose problème est en rouge.
Avez-vous une soultion ?
Merci d'avance
Voici la macro :
Sub valider()
Dim z As Integer
Dim t As Integer
Dim i As Integer
Dim Filename1 As String
Dim q As Integer
Dim co As Integer
Dim cli As String
Dim dat As Date
Dim del As Date
Dim galv As String
Dim peint As String
With Sheets("Lancement")
z = Range("I65536").End(xlUp).Row
i = 8
t = z + 1
Do While i < t
q = Range("D" & i).Value
co = Range("C" & i).Value
cli = Range("B" & i).Text
dat = Range("E" & i).Value
del = Range("F" & i).Value
galv = Range("G" & i).Value
peint = Range("H" & i).Value
If Range("I" & i).Text = "Armatures_Standards" Then
Filename1 = "M:\Bureau Etudes\Produits\" & Range("I" & i).Text & "\" & Range("J" & i).Text & "\" & Range("J" & i).Text & "_Lancement_atelier"
Else
Filename1 = "M:\Bureau Etudes\Produits\" & Range("I" & i).Text & "\" & Range("J" & i).Text & "\" & Range("K" & i).Text & "\" & Range("K" & i).Text & "_Lancement_atelier"
End If
Workbooks.Open (Filename1)
Range("T7") = q
Range("E9") = co
Range("L9") = cli
Range("E10") = dat
Range("E12") = del
If Range("M13") = "" Then
Range("M13") = galv
Else
End If
If Range("T13") = "" Then
Range("T13") = peint
Else
End If
ActiveWorkbook.Worksheets(1).PrintPreview
ActiveWorkbook.Worksheets(2).PrintPreview
ActiveWorkbook.Worksheets(3).PrintPreview
ActiveWorkbook.Close
i = i + 1
Loop
End With
End Sub