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
|
Sub Test()
Dim FePlages As Worksheet
Dim FeCritere As Worksheet
Dim PlageColB As Range
Dim PlageColW As Range
Dim Plage As Range
Dim CelColB As Range
Dim CelColW As Range
Dim Cel As Range
'feuille où sont recherchés les mots
Set FePlages = Worksheets("Feuil1")
'feuille où sont les mots
Set FeCritere = Worksheets("Feuil2")
'défini les plages sur les colonnes B et W (2 et 23)
With FePlages: Set PlageColB = .Range(.Cells(1, 2), .Cells(.Rows.Count, 2).End(xlUp)): End With
With FePlages: Set PlageColW = .Range(.Cells(1, 23), .Cells(.Rows.Count, 23).End(xlUp)): End With
'défini la plage des mots recherchés sur la colonne A
With FeCritere: Set Plage = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp)): End With
For Each Cel In Plage
Set CelColB = PlageColB.Find(Cel.Value, , xlValues, xlWhole)
Set CelColW = PlageColW.Find(Cel.Value, , xlValues, xlWhole)
'ce que tu demandes :
'"si tu trouves dans la colonne 2 et dans la colonne 23 la même chose que dans l'autre feuille, alors tu affiches"
If Not CelColB Is Nothing And Not CelColW Is Nothing Then
MsgBox "La valeur '" & _
Cel.Value & _
"' de la feuille '" & _
FeCritere.Name & _
"' a été trouvée dans les 2 colonnes (B et W) de la feuille '" & _
FePlages.Name & _
"' en ligne '" & _
CelColB.Row & _
"' de la colonne B et ligne '" & CelColW.Row & "' de la colonne W !"
End If
Next Cel
End Sub |