Bonjour le forum,

Je suis débutante en excel et vba et j'ai confronté bcp de pb dans la programmation surtt dans la création de userform qui va générer un fichier excel contient des informations selon des critères (pour moi j'ai pas trouvé comment faire).J'espère que vous pouvez m'aider .
Alors mon travail consiste à copier des lignes d'un fichier excel dans un autre( qui je dois le créer au fur et à mesure de l’exécution) le problème c'est qu'il faut copier selon des critères ("date") il faut que je copie les derniers ligne ou la date sont égaux mais le problème ce que il ya des lignes ou on trouve pas de date et qu'il faut le copier aussi. Je sais pas quoi faire??

voila le code mais ça marche pas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Set Newbook = Application.Workbooks.Add
With Newbook
.Worksheets(1).Name = "etiquettes"
End With
 
With ThisWorkbook
ThisWorkbook.Worksheets("cablage").Activate
DerLg = Worksheets("cablage").Cells(Worksheets("cablage"). Rows.Count, 1).End(xlUp).Row
DerCl = Worksheets("cablage").Cells(Worksheets("cablage"). Columns.Count, 1).End(xlUp).Column
End With
'Newbook.Worksheets("etiquettes").Cells(k, 1).Delete
 
i = DerLg
j = i - 1
k = 1
Do
 
If (IsDate(ThisWorkbook.Worksheets("cablage").Cells(i , 24).Value) = True) Then
 
ThisWorkbook.Worksheets("cablage").Rows(i).EntireR ow.Copy Newbook.Worksheets("etiquettes").Range("A" & Rows.Count).End(xlUp).Offset(1)
 
i = i - 1
 
For k = 1 To i
 
cell(k) = ThisWorkbook.Worksheets("cablage").Cells(i, 24).Value
 
Next k
 
Else
ThisWorkbook.Worksheets("cablage").Rows(i).EntireR ow.Copy Newbook.Worksheets("etiquettes").Range("A" & Rows.Count).End(xlUp).Offset(1)
 
i = i - 1 
 
End If
 
Loop Until (cell(1) <> cell(k))

ci joint un exemple de du tableau donc je vais copier tous les lignes dans un autre fichier mais il faut arrêter la copie dès que la date est différent et on n'oublie pas de copier aussi les lignes dont la date est vide à condition qu'ils soient entre les même dates.