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
A voir également:
- Surligner sur excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Comment trier par ordre alphabétique sur excel - Guide
- Comment calculer la moyenne sur excel - Guide
- Si ou excel - Guide
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
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
guigui06
oui je connais cette facon la. Seulement je souhaiterais une technique qui permet de mettre non seulement les mots en doubles mais également qui se ressemblen (à quelques lettres près...)
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éé :
- 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...
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...