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