imprimer une lste de ligne suivant réf d'une cellule

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

bpol

XLDnaute Impliqué
bonjour,

après des recherches sur google,


voii mon souhait:

imprimer les lignes de la feuil2 dont les dates correspondent au mois sélectionné en feuil1

bien sur si c'est possible vu que je n'ai rien trouvé.


Merci
Bpol
 

Pièces jointes

Re : imprimer une lste de ligne suivant réf d'une cellule

Bonjour,

regarde le fichier joint..

Le code :

Code:
Sub Imprime()
Application.ScreenUpdating = False
With Sheets("Feuil2")
    .Range("A1:C" & .[A65000].End(xlUp).Row).Name = "base"
    Range("B2").FormulaR1C1 = "=TEXT(Feuil2!RC[-1],""mmmm"")=R2C1"
    .Range("base").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
        "B1:B2"), CopyToRange:=Range("D1:F1"), Unique:=False
    [B2].Clear
End With
With ActiveSheet
    .PageSetup.PrintArea = "$D:$F"
    .PrintPreview
End With
End Sub

Le fichier :
 

Pièces jointes

Re : imprimer une lste de ligne suivant réf d'une cellule

Bonjour Bpol, Bhbh, bonjour le forum,

Bhbh a été plus rapide arf... je te propose quand même ma macro à appliquer à ton bouton :

Code:
Sub Macro1()
Dim dat As String 'déclare la variable dat
 
dat = "01/" & Sheets("Feuil1").Range("C8") 'définit la variable dat
 
With Sheets("Feuil2") 'prend en compte l'onglet "Feuil2"
    For Each cel In .Range("A2:A" & .Range("A65536").End(xlUp).Row) 'boucle sur toutes les cellules éditées cel de la colonne A
        'si le mois de la cellule est différent du mois affiché en C8, masque la ligne
        If Month(cel.Value) <> Month(dat) Then cel.EntireRow.Hidden = True
    Next cel 'prochaine cellule cel de la boucle
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True 'imprime
    .Rows.Hidden = False 'affiche toutes les lignes
End With 'fin de la prise en compte de l'onglet "Feuil2"
 
End Sub

Édition :

Opte pour la solution de Bhbh qui me semble bien meilleure...
 
Dernière édition:
Re : imprimer une lste de ligne suivant réf d'une cellule

Merci à tout les deux.

seulement une petite question à Bhbh avec ta macro j'ai comme résultat l'aperçu de la page à imprimer mais elle ne s'imprime pas automatiquement.

A+
Bpol
 
Re : imprimer une lste de ligne suivant réf d'une cellule

Re-,

Euh, un tout petit peu de réflexion personnelle.....

.PrintPreview : Aperçu..

.Print : Impression....

Pour les essais, je mets toujours l'aperçu, tu devines pourquoi....
 
Re : imprimer une lste de ligne suivant réf d'une cellule

Re-,

Euh, là, ce n'est plus du tout la même chose.....

La présentation du tableau final diffère radicalement de ton exemple....

Une extraction par filtre élaboré ne peut se faire que par colonne, et non par lignes, comme tu as dans ton tableau final (Vente, Montant, Paiement....)

Il faut donc tout repenser le code....
 
Re : imprimer une lste de ligne suivant réf d'une cellule

Re-,

j'ai un peu regardé ton fichier....

Je ne comprends pas ce que tu veux...

Dans le journal de caisse, tu as tes ventes, avec le nom du vendeur

Et tu voudrais imprimer, dans l'onglet "caisse", tes ventes du mois voulu

Cependant, il peut y avoir plusieurs vendeurs....

Bref, je ne comprends rien...
 
Re : imprimer une lste de ligne suivant réf d'une cellule

Re-,

Euh, là, ce n'est plus du tout la même chose.....

La présentation du tableau final diffère radicalement de ton exemple....

Une extraction par filtre élaboré ne peut se faire que par colonne, et non par lignes, comme tu as dans ton tableau final (Vente, Montant, Paiement....)

Il faut donc tout repenser le code....

re Bhbh,

je ne désire que récupérer les 3 premières colonnes du joural caisse donc cela revient au même que l'exemple.


Merci
Bpol
 
Re : imprimer une lste de ligne suivant réf d'une cellule

Re-,

modifie ainsi :

Code:
With Sheets("journal caisse")
    .Range("A1:D" & .[A65000].End(xlUp).Row).Name = "base"
    Range("I4").FormulaR1C1 = "=TEXT('journal caisse'!R[-2]C[-8],""mmmm"")=R1C3"
    .Range("base").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
        "I3:I4"), CopyToRange:=Range("B2:D2"), Unique:=False
    [I4].Clear
End With
 
Re : imprimer une lste de ligne suivant réf d'une cellule

Re-,

et en complément, il faut que B2 de "caisse" soit le même titre que "A1" de "journal caisse", C2 que B1 et D2 que C1

Si tu n'as pas d'en-tête, ça marchera moins bien...
 
- 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

R
Réponses
2
Affichages
708
Rincevent29
R
Retour