Comparer 2 cellules de texte et mettre en évidence les différences.

Zad

XLDnaute Nouveau
Bonjour !

Voilà un petit problème qui me gêne :

J'ai 2 colonnes de texte (un texte non-relu et un texte relu). je voudrais que les différences s'affichent en gras ou en couleur dans une 3ème colonne.

exemple :

Col A : j'aim Excel
Col B : j'aime Excel
Col C : j'aime Excel


La fonction Exact compare bien les cellules mais pas moyen de mettre en évidence les erreurs.

Merci d'avance si vous avez des idées :)
 

sigismond

XLDnaute Occasionnel
Re : Comparer 2 cellules de texte et mettre en évidence les différences.

Bonjour à tous et à toi Zad, Chris.

C'est à la portée d'une routine VBA mais que fait-on des caractères non imprimables (espaces, retour à la ligne dans la cellule) non conformes au modèle ?

De plus veux tu que la routine différencie les caractères en plus des caractères en moins, par rapport à la référence ?

à te lire.

Sigismond
 

sigismond

XLDnaute Occasionnel
Re : Comparer 2 cellules de texte et mettre en évidence les différences.

Je n'ai pas affiné l'analyse par crainte d'être trop abstrait.

J'ai réalisé un exemple qui marche dans les cas simples

et qui permet de prendre conscience concrètement de la multiplicité des cas à envisager.

Bon courage,

Sigismond
 

Pièces jointes

  • Elucubrations_03.xls
    37.5 KB · Affichages: 763

Zad

XLDnaute Nouveau
Re : Comparer 2 cellules de texte et mettre en évidence les différences.

Salut sigismond !

Ta macro est pas mal du tout :)

En effet il faudrait que la routine différencie les caractères en plus des caractères en moins par rapport à la référence.

voilà un exemple de ce qui se passe:

Col A : Super ! Ce sont les métaux qu'il me fallait !
Col B : Super ! C'est le métal qu'il me fallait !
col C : Super ! C'est le métal qu'il me fallait !

Pas encore parfait mais c'est un bon début déjà :)
 

sigismond

XLDnaute Occasionnel
Re : Comparer 2 cellules de texte et mettre en évidence les différences.

Bonjour Zad, le fil

Mon but avec cette version simple de routine VBA est d'aider à réfléchir concret.

Ton exemple est parfait, Il montre que cette première version :
  • détecte si les chaines sont différentes
  • en cas de différence, recopie la référence colonne 3
  • analyse les caractères l'un après l'autre
  • écrit en noir les caractères identiques, en rouge les différents.

J'ai écrit ton exemple à la verticale pour mieux comparer les chaines :


A B C

S S S <--- identique : noir
u u u
p p p
e e e
r r r

! ! !

C C C
e ' ' <--- différent : rouge
. e e
s s s <--- identique : noir
o t t <--- différent : rouge
n
t l l
. e e
l
e m m
s é é
. t t
m a a
é l l
t
a q q
u u u <--- identique : noir
x ' ' <--- différent : rouge
. i i
q l l
u
' m m
i e e
l
. f f
m a a
e l l
. l l
f a a
a i i
l t t
l
a ! !
i
t

!



Question : dans ton exemple quel résultat souhaiterais-tu ?

Sigismond.
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 206
Messages
2 086 219
Membres
103 158
dernier inscrit
laufin