VBA repérer des "doublons" sur la base du premier mot

Fermé
Barry95 Messages postés 3 Date d'inscription lundi 13 juillet 2015 Statut Membre Dernière intervention 6 juin 2017 - Modifié le 6 juin 2017 à 13:26
 florent - 6 juin 2017 à 13:48
bonjour,

Je suis à la recherche d'un macro qui me permettrait de repérer des "doublons". Ce ne sont pas des doublons à proprement parler parce que les cellules peuvent ne pas être identiques. Par exemple "Volvo" et "Volvo SA" seront considérés comme des doublons.

J'ai trouvé cette macro qui marche super bien mais qui ne détecte que les doublons identiques.

Sub Doublons()
Dim Collec As New Collection, Cell As Range, Plage As Range

On Error Resume Next
Set Plage = Application.InputBox("Plage à examiner", Type:=8)
If IsEmpty(Plage) Then Exit Sub

For Each Cell In Plage
If Cell.Value <> "" Then
Collec.Add Cell.Value, CStr(Cell.Value)
If Err <> 0 Then
Err.Clear
Cell.Interior.ColorIndex = 3
Else
Cell.Interior.ColorIndex = 4
End If
End If
Next Cell
End Sub

L'idée serait de reprendre la même macro mais en améliorant celle-ci de sorte à ce que toutes les cellules ayant le même premier mot soient mis en rouge.

Quelqu'un pourrait-il me venir en aide pleaaase?

En vous remerciant d'avance.

Bien cordialement
A voir également:

1 réponse

Je n'en suis pas sûr, mais essayer ceci :


Sub Doublons()
  Dim Collec As New Collection, Cell As Range, Plage As Range
  Dim chn As String, mot As String, p As Byte
  On Error Resume Next
  Set Plage = Application.InputBox("Plage à examiner", Type:=8)
  If IsEmpty(Plage) Then Exit Sub
  For Each Cell In Plage
    chn = CStr(Cell.Value): p = InStr(chn, " ")
    If p = 0 Then mot = chn Else mot = Left$(chn, p - 1)
    If chn <> "" Then
      Collec.Add mot, chn
      If Err <> 0 Then
        Err.Clear
        Cell.Interior.ColorIndex = 3
      Else
        Cell.Interior.ColorIndex = 4
      End If
    End If
  Next Cell
End Sub


Merci de m'indiquer si ça a marché ou non ;
si oui, tant mieux ; si non, pas d'autre idée.
 
0