Re-bonjour,
Après avoir bien avancé dans la réalisation de mon dossier, je bute sur un petit couac.
J'ai fais une Macro pour une impression selon des critères de date (du ... au ...). Ca marche bien, du moment que c'est la même date qui est introduite. Lorsque je lui demande d'imprimer du 1er du mois au 31 il me met une erreur... et fout le bordel dans le tri des lignes...
Voilà la Macro:
Sub Imprimer()
Dim DLig As Long, Lig As Long
Dim DateDeb As Date, DateFin As Date
Dim FirstLig As Long, LastLig As Long
' Récupérer les dates
DateDeb = Sheets("Statistiques").Range("B8")
DateFin = Sheets("Statistiques").Range("C8")
' Initialiser les variables
FirstLig = 0: LastLig = 0
' avec la feuile
With Sheets("Saisie")
DLig = .Range("A" & Rows.Count).End(xlUp).Row
' Trier le slignes
.Range("A5:R" & DLig).Sort Key1:=.Range("A5"), Order1:=xlAscending, _
Key2:=.Range("A4"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, _
MatchCase:=False, Orientation:=xlTopToBottom
' Rechercher les lignes dont la date correpond
For Lig = 3 To DLig
If .Range("A" & Lig) = DateDeb And FirstLig = 0 Then FirstLig = Lig
If .Range("A" & Lig) <> DateDeb And FirstLig <> 0 Then
LastLig = Lig - 1
Exit For
End If
Next Lig
If LastLig = 0 Then LastLig = Lig
.PageSetup.PrintArea = "$A$" & FirstLig & ":$R$" & LastLig
.PrintPreview
End With
End Sub
Merci de votre aide
Edit:
Les colonnes vont de A à R et c'est à partir de la ligne 5 que les enregistrement doivent être pris en compte en respectant l'ordre dans lequel elles ont été entrées.