Programme VBA analyse de deux plages de cellules

Bonjour,

je voudrais savoir s'il est possible d'améliorer mon code VBA, afin que ce dernier puisse lorsqu'il recopie les valeurs identiques entre 2 plages de cellules, prendre en compte les mots composé. C'est à dire que s'il remarque un nom composé il regarde aussi la deuxième plage de cellule et s'il constate qu'un des mots est dans cette plage alors il recopie le mot et sa valeur. Exemple: IBRAHIM HASSAN est dans la première plage de cellule, si dans la seconde il y a IBRAHIM alors j'aimerai avec mon code que IBRAHIM HASSAN soit recopié avec son occurrence et celle de IBRAHIM. Si quelqu'un pourrait m'aider s'il vous plaît. Je ne sais si je suis réellement claire.

4forum.xlsm (19.10 Ko)

Voici mon code VBA:

Sub trouver_noms_identiques()
ThisWorkbook.Worksheets("Feuil1").Activate
Dim rng1 As Range, rng2 As Range, c As Range
Dim i As Long, j As Long, k As Long
Dim n As Long

Set rng1 = Range("A2:B109")
Set rng2 = Range("D2:E62")

k = 2

For i = 1 To rng1.Rows.Count
For j = 1 To rng2.Rows.Count
If rng1.Cells(i, 1).Value = rng2.Cells(j, 1).Value Then
Range("H" & k).Value = rng1.Cells(i, 1).Value
Range("I" & k).Value = rng1.Cells(i, 2).Value
Range("J" & k).Value = rng2.Cells(j, 2).Value
k = k + 1
Exit For
End If
Next j
Next i

End Sub

bonjour,

une proposition

Sub trouver_noms_identiques()
    ThisWorkbook.Worksheets("Feuil1").Activate
    Dim rng1 As Range, rng2 As Range, c As Range
    Dim i As Long, j As Long, k As Long
    Dim n As Long

    Set rng1 = Range("A2:B109")
    Set rng2 = Range("D2:E62")

    k = 2

    For i = 1 To rng1.Rows.Count
        For j = 1 To rng2.Rows.Count
            If InStr(rng1.Cells(i, 1).Value, rng2.Cells(j, 1).Value) > 0 Then
                Range("H" & k).Value = rng1.Cells(i, 1).Value
                Range("I" & k).Value = rng1.Cells(i, 2).Value
                Range("J" & k).Value = rng2.Cells(j, 2).Value
                k = k + 1
                Exit For
            End If
        Next j
    Next i

End Sub

D'accord merci, pouvez vous me détailler ce que votre petite modification fait s'il vous plaît.

Rechercher des sujets similaires à "programme vba analyse deux plages"