Bonjour, j'aimerais copier certaines lignes en fonctions de 2 conditions, voici le code que j'ai entre pour le moment :
Simplement, il me copie pas quand les deux conditions sont juste, mais quand l'une ou l'autre est juste, or j'ai bien mit un 'and' et non un 'or' dans mon test 'if'.
Code vba : 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
38
39
40
41
42
43
44
45
46
47
48
49
50 dl = .Range("a" & Rows.Count).End(xlUp).Row Set n = .Range("B1:B" & dl).Find(date1) Set c = .Range("A1:A" & dl).Find(nomjournal) 'Set b = .Range("b" & a.Row, "b" & dl).Find(date2) If date1 <> "" Or date2 <> "" Then Sheets.Add After:=Worksheets(Worksheets.Count) ActiveSheet.Name = "Ecriture" irow = 0 irow2 = 1 firstaddress = n.Address For x = 1 To dl - 1 irow = irow + 1 'Emepeche le rafraichissement de l'écran, pour ne pas voir le traitement Application.ScreenUpdating = False Worksheets(nomfeuille).Select If Not n Is Nothing And c <> "***" Then 'copie des lignes concerner Sheets("Ecriture").Cells(irow2, 1).Columns("A:BP").Value = n.EntireRow.Value irow2 = irow2 + 1 Sheets("Ecriture").Select End If Set n = .Range("b1:b" & dl).FindNext(n) 'Set c = .Range("a1:a" & dl).FindNext(nomjournal) Set c = .Range("A" & c.Row, "A" & dl).Find(nomjournal) If n Is Nothing Or n.Address = firstaddress Then Exit For End If 'Set a = .Range("B" & a.Row, dl).Find(date1) Next x Else Set c = .Range("A1:A" & dl).Find(nomjournal) Sheets.Add After:=Worksheets(Worksheets.Count) ActiveSheet.Name = "Ecriture" irow = 0 irow2 = 1 For x = 1 To dl - 1 irow = irow + 1 'Emepeche le rafraichissement de l'écran, pour ne pas voir le traitement Application.ScreenUpdating = False If c <> "***" Then 'création d'une nouvelle feuille et on l'a renomme firstaddress = c.Address 'copie des lignes concerner Sheets("Ecriture").Cells(irow2, 1).Columns("A:BP").Value = c.EntireRow.Value irow2 = irow2 + 1 Sheets("Ecriture").Select End If Set c = .Range("A" & c.Row, "A" & dl).Find(nomjournal) Next x End If
Partager