Recherche dans liste et transfert cellule si non vide, puis imprimer
bonjour,
j'espère être suffisamment clair pour que vous puissiez m'apporter votre aide
j'ai conçu un petit fichier pour appuyer ma demande...
conception de mon fichier excel :
- chaque jour, modification de l'onglet "commande jour" ->ce qui met à jour les onglets A1-B1-C1...
ce que je voudrais :
j'aimerai après avoir mis à jour mon tableau et contrôlé les données, imprimer les feuilles A - B et C ... par l'intermédiaire d'un bouton que je mettrais en place (pas de soucis pour ça, j'ai bien compris vos tutos et explications dans d'autres sujets (merci ^^)
conception d'une feuille : (un onglet A1-B1... envoi les infos dans une feuille A-B...)
j'aimerai lorsque je clique sur le bouton, que tous les noms des onglets A1-B1-C1 soient testés en cellule B2 (jaune) de leurs feuille correspondantes et que si la cellule B3 (bleue) contient une quantité alors impression de la feuille dans l'ordre des feuilles...
je joins mon petit fichier et espère que vous saurez m'apporter votre aide, plus que de réussir, je souhaite comprendre la conception de ce code.
dans tous les cas, merci de m'avoir lu
j'ai su créer ce code pour mon programme, il fonctionne partiellement... j'ai une erreur à partir de cette ligne :
'YB PLOC MACRO
erreur sur la ligne RANGE ("D4")...
il y peut-être plus efficace comme code... Je ne comprends pas pourquoi cette ligne se met en erreur alors que tous mes onglets ont le même format et que le nom est correcte...
il y a également un soucis pour l'enchainement des impressions, les feuilles se mélangent au lieu de s'imprimer dans la suite logique...
merci à ceux qui pourront me venir en aide
Sub PPC() Dim ListeValeur() As Variant
Dim a As Integer
Dim Plagevaleur As Range
' PPC Macro
Sheets("LANCEPPC").Select
Set PlageValeurs = Range("A6:A31")
ReDim ListeValeurs(1 To PlageValeurs.Count)
For a = 1 To PlageValeurs.Count
ListeValeurs(a) = PlageValeurs(a).Value
Next a
Dim i As Integer
Dim valeur As Integer
For i = 1 To 32
Sheets("PPC").Select
Range("D4").Value = ListeValeurs(i)
valeur = Range("N4").Value
If valeur = 0 Then
'Rien
Else
ActiveWindow.SmallScroll Down:=-21
Range("A1:T60").Select
Selection.PrintOut Copies:=1, Collate:=True
Sheets("feuille j+1").Select
Range("B1").Select
End If
'NG Macro
Sheets("LANCENG").Select
Set PlageValeurs = Range("A6:A31")
ReDim ListeValeurs(1 To PlageValeurs.Count)
For a = 1 To PlageValeurs.Count
ListeValeurs(a) = PlageValeurs(a).Value
Next a
' Dim valeur As Integer
'For i = 1 To 32
Sheets("NG").Select
Range("D4").Value = ListeValeurs(i)
valeur = Range("N4").Value
If valeur = 0 Then
'Rien
Else
ActiveWindow.SmallScroll Down:=-21
Range("A1:T60").Select
Selection.PrintOut Copies:=1, Collate:=True
Sheets("feuille j+1").Select
Range("B1").Select
End If
'LIE Macro
Sheets("LANCELIE").Select
Set PlageValeurs = Range("A6:A31")
ReDim ListeValeurs(1 To PlageValeurs.Count)
For a = 1 To PlageValeurs.Count
ListeValeurs(a) = PlageValeurs(a).Value
Next a
' Dim valeur As Integer
'For i = 1 To 32
Sheets("LIE").Select
Range("D4").Value = ListeValeurs(i)
valeur = Range("N4").Value
If valeur = 0 Then
'Rien
Else
ActiveWindow.SmallScroll Down:=-21
Range("A1:T60").Select
Selection.PrintOut Copies:=1, Collate:=True
Sheets("feuille j+1").Select
Range("B1").Select
End If
'RI Macro
Sheets("LANCERIZPAT").Select
Set PlageValeurs = Range("A6:A13")
ReDim ListeValeurs(1 To PlageValeurs.Count)
For a = 1 To PlageValeurs.Count
ListeValeurs(a) = PlageValeurs(a).Value
Next a
' Dim valeur As Integer
'For i = 1 To 32
Sheets("RIZ").Select
Range("D4").Value = ListeValeurs(i)
valeur = Range("N4").Value
If valeur = 0 Then
'Rien
Else
ActiveWindow.SmallScroll Down:=-21
Range("A1:T60").Select
Selection.PrintOut Copies:=1, Collate:=True
Sheets("feuille j+1").Select
Range("B1").Select
End If
'Cla Macro
Sheets("LANCERIZPAT").Select
Set PlageValeurs = Range("A14:A24")
ReDim ListeValeurs(1 To PlageValeurs.Count)
For a = 1 To PlageValeurs.Count
ListeValeurs(a) = PlageValeurs(a).Value
Next a
' Dim valeur As Integer
'For i = 1 To 32
Sheets("F9").Select
Range("D4").Value = ListeValeurs(i)
valeur = Range("N4").Value
If valeur = 0 Then
'Rien
Else
ActiveWindow.SmallScroll Down:=-21
Range("A1:T60").Select
Selection.PrintOut Copies:=1, Collate:=True
Sheets("feuille j+1").Select
Range("B1").Select
End If
'F4 Macro
Sheets("LANCERIZPAT").Select
Set PlageValeurs = Range("A25:A31")
ReDim ListeValeurs(1 To PlageValeurs.Count)
For a = 1 To PlageValeurs.Count
ListeValeurs(a) = PlageValeurs(a).Value
Next a
' Dim valeur As Integer
'For i = 1 To 32
Sheets("F4").Select
Range("D4").Value = ListeValeurs(i)
valeur = Range("N4").Value
If valeur = 0 Then
'Rien
Else
ActiveWindow.SmallScroll Down:=-21
Range("A1:T60").Select
Selection.PrintOut Copies:=1, Collate:=True
Sheets("feuille j+1").Select
Range("B1").Select
End If
'YPV SF Macro
Sheets("LANCEYPV").Select
Set PlageValeurs = Range("A6:A31")
ReDim ListeValeurs(1 To PlageValeurs.Count)
For a = 1 To PlageValeurs.Count
ListeValeurs(a) = PlageValeurs(a).Value
Next a
' Dim valeur As Integer
'For i = 1 To 32
Sheets("YPV").Select
Range("D4").Value = ListeValeurs(i)
valeur = Range("N4").Value
If valeur = 0 Then
'Rien
Else
ActiveWindow.SmallScroll Down:=-21
Range("A1:T60").Select
Selection.PrintOut Copies:=1, Collate:=True
Sheets("feuille j+1").Select
Range("B1").Select
End If
'YPV N Macro
Sheets("LANCENO").Select
Set PlageValeurs = Range("A6:A31")
ReDim ListeValeurs(1 To PlageValeurs.Count)
For a = 1 To PlageValeurs.Count
ListeValeurs(a) = PlageValeurs(a).Value
Next a
' Dim valeur As Integer
'For i = 1 To 32
Sheets("NO").Select
Range("D4").Value = ListeValeurs(i)
valeur = Range("N4").Value
If valeur = 0 Then
'Rien
Else
ActiveWindow.SmallScroll Down:=-21
Range("A1:T60").Select
Selection.PrintOut Copies:=1, Collate:=True
Sheets("feuille j+1").Select
Range("B1").Select
End If
'YB P Macro
Sheets("LANCEYB").Select
Set PlageValeurs = Range("A6:A10")
ReDim ListeValeurs(1 To PlageValeurs.Count)
For a = 1 To PlageValeurs.Count
ListeValeurs(a) = PlageValeurs(a).Value
Next a
' Dim valeur As Integer
'For i = 1 To 32
Sheets("P").Select
Range("D4").Value = ListeValeurs(i)
valeur = Range("N4").Value
If valeur = 0 Then
'Rien
Else
ActiveWindow.SmallScroll Down:=-21
Range("A1:T60").Select
Selection.PrintOut Copies:=1, Collate:=True
Sheets("feuille j+1").Select
Range("B1").Select
End If
'YB G feuille 1 Macro
Sheets("LANCEYB").Select
Set PlageValeurs = Range("A11:A31")
ReDim ListeValeurs(1 To PlageValeurs.Count)
For a = 1 To PlageValeurs.Count
ListeValeurs(a) = PlageValeurs(a).Value
Next a
' Dim valeur As Integer
'For i = 1 To 32
Sheets("G").Select
Range("D4").Value = ListeValeurs(i)
valeur = Range("N4").Value
If valeur = 0 Then
'Rien
Else
ActiveWindow.SmallScroll Down:=-21
Range("A1:T60").Select
Selection.PrintOut Copies:=1, Collate:=True
Sheets("feuille j+1").Select
Range("B1").Select
End If
'YB G feuille 2 Macro
Sheets("LANCEYB2").Select
Set PlageValeurs = Range("A6:A31")
ReDim ListeValeurs(1 To PlageValeurs.Count)
For a = 1 To PlageValeurs.Count
ListeValeurs(a) = PlageValeurs(a).Value
Next a
' Dim valeur As Integer
'For i = 1 To 32
Sheets("G2").Select
Range("D4").Value = ListeValeurs(i)
valeur = Range("N4").Value
If valeur = 0 Then
'Rien
Else
ActiveWindow.SmallScroll Down:=-21
Range("A1:T60").Select
Selection.PrintOut Copies:=1, Collate:=True
Sheets("feuille j+1").Select
Range("B1").Select
End If
'YB G feuille 3 Macro
Sheets("LANCEYB3").Select
Set PlageValeurs = Range("A6:A31")
ReDim ListeValeurs(1 To PlageValeurs.Count)
For a = 1 To PlageValeurs.Count
ListeValeurs(a) = PlageValeurs(a).Value
Next a
' Dim valeur As Integer
'For i = 1 To 32
Sheets("G3").Select
Range("D4").Value = ListeValeurs(i)
valeur = Range("N4").Value
If valeur = 0 Then
'Rien
Else
ActiveWindow.SmallScroll Down:=-21
Range("A1:T60").Select
Selection.PrintOut Copies:=1, Collate:=True
Sheets("feuille j+1").Select
Range("B1").Select
End If
'YB G feuille 4 Macro
Sheets("LANCEYB4").Select
Set PlageValeurs = Range("A6:A31")
ReDim ListeValeurs(1 To PlageValeurs.Count)
For a = 1 To PlageValeurs.Count
ListeValeurs(a) = PlageValeurs(a).Value
Next a
' Dim valeur As Integer
'For i = 1 To 32
Sheets("G4").Select
Range("D4").Value = ListeValeurs(i)
valeur = Range("N4").Value
If valeur = 0 Then
'Rien
Else
ActiveWindow.SmallScroll Down:=-21
Range("A1:T60").Select
Selection.PrintOut Copies:=1, Collate:=True
Sheets("feuille j+1").Select
Range("B1").Select
End If
Next i
End Sub