Aide Macro date à reporter sur une fiche

bonjour,

j'ai un tableau ou il y'a plusieurs fiches, ces fiches ont des dates d'execution, soit il y a la même date pour une fiche soit il peut y avoir plusieurs date pour une même fiche.

je souhaiterais pouvoir avoir un macro qui alimenterais ces fiches automatiquement en fonction de mon tableau.

je joint le fichier Excel.

Par exemple pour ma fiche 1, je voudrais avoir ce rendu sur la ligne "Période facture" : 10/12/2015

pour ma fiche 2 "Période facture" : 01/02/2015 - 02/02/2015 - 03/02/2015

pour ma fiche 3 "Période facture" : 05/10/2015

fiche 4 "Période facture" : 08/08/2015

fiche 5 "Période facture" : 01/02/2015 - 02/02/2015 - 04/02/2015 - 01/03/2015

etc..

quelqu'un peut me venir en aide?

merci par avance,

bonne soirée à tous!

18testdate.xlsm (25.76 Ko)

Salut,

Sur ta Feuil1, tu as 15 fiches listées dans la colonne A mais tu n’as qu’une seule feuille ‘’Fiche’’.

En finale, auras-tu 15 feuilles Fiche (feuille Fiche 1, feuille Fiche 2, etc.) ou n’utilises-tu que la seule feuille ‘’Fiche’’ au fur et à mesure de tes besoins ?

Dans tous les cas, je ne trouve pas de cellule sur ta feuille ‘’Fiche’’ qui fasse référence aux fiches listées dans la colonne A de la Feuil1.

Cordialement.

bonjour, et merci de t être penché sur mon problème.

En fait en cliquant sur la macro cette dernière va générer et imprimer autant de fiche qu' il y a dans la colonne A.

Sur ma feuille fiche on peut reporter le numéro en haut à droite.

Mais ma difficulté est sur les dates, et quand il y en a plusieurs pour une même fiche, pour arriver à une présentation du genre par exemple pour ma fiche 2 "période facture" : 01/02/15 - 02/02/15 - 03/02/15

La c'est juste un échantillon, mais je voudrais automatiser ça, qu' il y ai 15 fiches ou 1000

merci par avance,

bonne journée

Salut,

La macro placée dans le fichier ci-joint devrait répondre à ton attente. Si tu cliques sur le bouton mis en place, la feuille ‘’Fiche’’ est imprimée autant de fois qu’il y a de fiches dans la colonne A de la Feuil1, avec en L1 le numéro et en C22 toutes les dates sans doublons et triées dans l’ordre chronologique de la fiche concernée.

Amicalement.

18testdate-v1.xlsm (35.88 Ko)

Bonjour Yvouille

Je te remercie pour ton aide, je teste ça ce soir et je te tiens au courant.

Bonne journée

Bonjour, désolé pour cette réponse tardive.

Après test de ta macro, tout fonctionne parfaitement.

Énorme merci!

Bonne journé!

Salut,

Il y a une partie de ma macro qui est parfaitement inutile et je pensais t’en informer après tes premières remarques, pensant que des corrections étaient encore nécessaires.

Mais vu tes réponses, soit tu as remarqué toi-même les passages concernés, soit tu utilises mon code avec ses passages superflus.

A tout hasard, je te fournis mon code nettoyé.

Option Explicit
Sub Imprimer_fiches()
Dim i As Byte, j As Byte, DerLig_Feuil1 As Integer, Position_Fiche As Integer, Position_Fiche_suivante As Integer, Période_facture As String

Application.ScreenUpdating = False

With Sheets("Feuil1")
    DerLig_Feuil1 = .Range("D" & Rows.Count).End(xlUp).Row
    Position_Fiche = 5

Retour:

    For j = Position_Fiche + 1 To DerLig_Feuil1
        If .Range("A" & j) <> "" Then
            Position_Fiche_suivante = j
            GoTo Etiquette
        End If
    Next j

    If j = DerLig_Feuil1 + 1 Then Position_Fiche_suivante = DerLig_Feuil1 + 1

Etiquette:

    .Range("F" & Position_Fiche & ":F" & Position_Fiche_suivante - 1).Copy Range("Z1")
    Range("Z:Z").RemoveDuplicates Columns:=1, Header:=xlNo
    Range("Z:Z").Sort Key1:=Range("Z1"), Order1:=xlAscending, Header:=xlNo

    For i = 1 To Range("Z" & Rows.Count).End(xlUp).Row
        If Période_facture <> "" Then
            Période_facture = Période_facture & " - " & Range("Z" & i)
        Else
            Période_facture = Range("Z" & i)
        End If
    Next i

    Range("Z:Z").Delete

    Range("L1") = .Range("A" & Position_Fiche)
    Range("C22") = Période_facture
    ActiveWindow.SelectedSheets.PrintOut

    Période_facture = ""
    Position_Fiche = Position_Fiche_suivante

    If j < DerLig_Feuil1 Then GoTo Retour

End With

Range("L1") = ""
Range("C22") = ""

End Sub

Amicalement.

Merci! Je ne m en était pas aperçu vu mon faible niveau. Encore merci pour ton aide

Rechercher des sujets similaires à "aide macro date reporter fiche"