Surligner les mots qui se ressemblent
guigui06
-
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je travaille sur un fichier excel. Je souhaiterais que dans une colonne donnée soit surligné (ou mis en couleur provisoirement ou tout autre moyen pour que l'on puisse le voir), les mots qui se ressemblent (pas seulement en doublons). C'est à dire que s'il est marqué "point" ou "poind" il faudrait que cela se mette en surbrilance pour que l'utilisateur estime s'il s'agit d'un doublon à supprimer ou pas...
Voila je ne sais pas si c'est réalisable avec formules, ou macro..
merci pour vos réponses
Je travaille sur un fichier excel. Je souhaiterais que dans une colonne donnée soit surligné (ou mis en couleur provisoirement ou tout autre moyen pour que l'on puisse le voir), les mots qui se ressemblent (pas seulement en doublons). C'est à dire que s'il est marqué "point" ou "poind" il faudrait que cela se mette en surbrilance pour que l'utilisateur estime s'il s'agit d'un doublon à supprimer ou pas...
Voila je ne sais pas si c'est réalisable avec formules, ou macro..
merci pour vos réponses
2 réponses
-
tu cliques sur ta colonne pour qu elle soit entièrement en subrillance
dans ACCUEIL
mise en forme conditionnelle
Règle de mise en surbrillance des cellules
et tu cliques sur VALEUR EN DOUBLE
et tous les mots identiques se mettront en surbrillance
-
Bonjour,
Par formule, c'est niet!
Par VBA, pourquoi pas.
J'ai trouvé pour toi, ICI, une fonction personnalisée qui transforme des chaînes de caractères en un code. Si les chaînes de caractères sont similaires, elles possèdent le même code, et donc tu peux repérer des quasi-doublons...
Mise en place :
- depuis un classeur excel, tapez ALT+F11
- Insertion/Module
- copié-collé ce code dans le module ainsi créé :Function SOUNDEX(Surname As String) As String ' Developed by Richard J. Yanco ' This function follows the Soundex rules given at ' http://home.utah-inter.net/kinsearch/Soundex.html Dim Result As String, c As String * 1 Dim Location As Integer Surname = UCase(Surname) ' First character must be a letter If Asc(Left(Surname, 1)) < 65 Or Asc(Left(Surname, 1)) > 90 Then SOUNDEX = "" Exit Function Else ' St. is converted to Saint If Left(Surname, 3) = "ST." Then Surname = "SAINT" & Mid(Surname, 4) End If ' Convert to Soundex: letters to their appropriate digit, ' A,E,I,O,U,Y ("slash letters") to slashes ' H,W, and everything else to zero-length string Result = Left(Surname, 1) For Location = 2 To Len(Surname) Result = Result & Category(Mid(Surname, Location, 1)) Next Location ' Remove double letters Location = 2 Do While Location < Len(Result) If Mid(Result, Location, 1) = Mid(Result, Location + 1, 1) Then Result = Left(Result, Location) & Mid(Result, Location + 2) Else Location = Location + 1 End If Loop ' If category of 1st letter equals 2nd character, remove 2nd character If Category(Left(Result, 1)) = Mid(Result, 2, 1) Then Result = Left(Result, 1) & Mid(Result, 3) End If ' Remove slashes For Location = 2 To Len(Result) If Mid(Result, Location, 1) = "/" Then Result = Left(Result, Location - 1) & Mid(Result, Location + 1) End If Next ' Trim or pad with zeroes as necessary Select Case Len(Result) Case 4 SOUNDEX = Result Case Is < 4 SOUNDEX = Result & String(4 - Len(Result), "0") Case Is > 4 SOUNDEX = Left(Result, 4) End Select End If End Function Private Function Category(c) As String ' Returns a Soundex code for a letter Select Case True Case c Like "[AEIOUY]" Category = "/" Case c Like "[BPFV]" Category = "1" Case c Like "[CSKGJQXZ]" Category = "2" Case c Like "[DT]" Category = "3" Case c = "L" Category = "4" Case c Like "[MN]" Category = "5" Case c = "R" Category = "6" Case Else 'This includes H and W, spaces, punctuation, etc. Category = "" End Select End Function
- fermer la fenêtre Visual Basic Editor
Utilisation :
En A1 saisir : point
En A2 saisir : poind
En A3 saisir : loind
En A4 saisir : moins
En B1 saisir la formule : =SOUNDEX(A1)
"étirer" cette formule vers le bas
En C1 saisir la formule : =SI(NB.SI(B:B;B1)>1;"Doublon";"")
"étirer" cette formule vers le bas...