Bonjour,
J'essaie de boucler dans une feuille pour trouver les données relatives à un entête.
J'y parviens pour le premier mais ensuite je voudrais boucler pour trouver l’entête suivant et les données qui vont bien et ainsi de suite.
Je pense que la solution et "findnext" vu que mon premier entête et trouvé par "find" mais je ne parviens pas à le mettre en œuvre.
Je suis sais que mon code doit pas être top, mais je découvre VBA en tâtonnant.
Je suis preneur de quelques pistes.
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53 Sub Cherche() 'déclaration des variables : Dim IdPdc As Range Dim ZoneRechPdc As Range Dim RechTournee As Range Dim RechPli As Range Dim Valeur_Date As Range Dim Valeur_Pdc As String Dim Valeur_Tournée As String Dim i As Integer Valeur_Pdc = "a9" Set ZoneRechPdc = Sheets("Sheet1").Columns(2) Set IdPdc = ZoneRechPdc.Cells.Find(What:=Valeur_Pdc) 'entete de colonne Sheets("Attendu").Range("A1") = "Jour" Sheets("Attendu").Range("B1") = "PDC" Sheets("Attendu").Range("C1") = "QL" Sheets("Attendu").Range("D1") = "Nbre de Plis" 'recuperer PDC Sheets("Attendu").Range("B2") = IdPdc Sheets("Attendu").Range("B2") = Right(Range("B2"), Len(Range("B2")) - 7) 'recuperer données For i = 1 To 20 Set RechTournee = IdPdc.Offset(4 + i, -1) Sheets("Attendu").Range("C" & i + 1) = RechTournee Set RechPli = RechTournee.Offset(0, 1) Sheets("Attendu").Range("D" & i + 1) = RechPli If RechTournee = "Total" Then Exit For End If Next 'recuperer la date Set Valeur_Date = IdPdc.Offset(0, 6) Sheets("Attendu").Range("A2") = Format(Valeur_Date, "dd/mm/yyyy") Sheets("Attendu").Range("A2") = Left(Range("A2"), 10) End Sub
test.xls
Partager