Bonjour,

J’ai deux feuilles excel, je souhaite trouver la valeur de la cellule (21,4) de la feuille « Menu » dans la colonne 4 de la feuille « Resultat » et copier toute la ligne où se trouve cette valeur et la coller dans une autre feuille
«SousNotice ».


où se trouve le problème au niveau de mon code (bug au niveau de Loop Whie )??

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
Sub MethodeFind()
 
Dim k As Integer
Dim c As Range, LigDeb As String
Dim cle As String, CurrString As String
 
    Sheets("Menu").Select
      'La clé
      cle = Sheets("Menu").Cells(21, 5).Value
 
      'Recherche de la valeur de la cle dans la feuille Resultat et après il copy la ligne où il trouve la clé pour la copier dans la feuille "SousNotice"
      With Sheets("Resultat").Range("D3:D" & Split(Sheets("Resultat").UsedRange.Address, "$")(4))
        Set c = .Find(cle)
        If Not c Is Nothing Then
          LigDeb = c.Address
        Do
            k = c.Row
            CurrString = Sheets("Resultat").Cells(k, 4).Value
            If CurrString = cle Then
            Sheets("Resultat").Cells(k, 4).EntireRow.Select
            Selection.Copy
            Sheets("SousNotice").Activate
            ActiveSheet.Paste
            Set c = .FindNext(c)
        'Message d'erreur Loop While sans do ???
        Loop While Not c Is Nothing And c.Address <> LigDeb
          End If
      End With
  Wend
 
  Application.ScreenUpdating = True
 
  Set c = Nothing
End If
 
End Sub

Merci beaucoup pou l'aide


@+