OVH Cloud OVH Cloud

Aide : Colorer une partie de cellule doublonnée

8 réponses
Avatar
Marc Lebut \(et son voisin\)
Rebonjour
Mon précédent post n'était vraiment pas clair et je m'en excuse, d'autant
que mon copié/collé à perdu la forme du tableau.
Bref, je réexplique mon problème.
Je cherche à faire une macro qui :
1. Compare deux colonnes (A et B par ex.)
2. Repère si le texte présent dans les cellules de B se trouve aussi dans la
cellule correspondant en
A B
1 Bonjour le monde ! monde
2 Bonjour le monde ! salut
3 Bonjour le monde ! bonjour
3. Et si oui, colore en rouge dans la col A la partie du texte doublonnée
("monde" en A1, "bonjour" en A3)
Pensez-vous que ce soit possible ?
Un grand merci d'avance pour votre aide

Marc

8 réponses

Avatar
j
ma précédente réponse à ta précédente question était-elle moins claire que
ta question ?
je la recopie, sait-on jamais
à tester :

Sub ne_rougit_pas()
For Each cel In Intersect(ActiveSheet.UsedRange, Columns(1))
If InStr(cel.Value, cel.Offset(0, 1).Value) > 0 Then
cel.Characters(Start:=InStr(cel.Value, cel.Offset(0, 1).Value),
Length:=Len(cel.Offset(0, 1))).Font.ColorIndex = 3
End If
Next cel
End Sub
--

http://jacxl.free.fr/



"Marc Lebut (et son voisin)" a écrit dans le message
de news: bqo5hd$2346$
Rebonjour
Mon précédent post n'était vraiment pas clair et je m'en excuse, d'autant
que mon copié/collé à perdu la forme du tableau.
Bref, je réexplique mon problème.
Je cherche à faire une macro qui :
1. Compare deux colonnes (A et B par ex.)
2. Repère si le texte présent dans les cellules de B se trouve aussi dans
la

cellule correspondant en
A B
1 Bonjour le monde ! monde
2 Bonjour le monde ! salut
3 Bonjour le monde ! bonjour
3. Et si oui, colore en rouge dans la col A la partie du texte doublonnée
("monde" en A1, "bonjour" en A3)
Pensez-vous que ce soit possible ?
Un grand merci d'avance pour votre aide

Marc




Avatar
Marc Lebut \(et son voisin\)
ma précédente réponse à ta précédente question était-elle moins claire que
ta question ?


Hello
Ben écoute, aucune réponse à mon précédent message à l'horizon, mais quoi
qu'il en soit, CA MARCHE !
Un grand merci à toi
J'ai essayé de la modifier en rajoutant du gras sur le rouge, mais pour y
arriver, j'ai copié/collé la ligne en remplacant la fin par .Font.Bold True (je ne sais pas omment l'ajouter à l'autre)
Et si une cellule en col B est vide, il fait la transformation en A malgré
tout (alors qu'il n'a forcément rien trouvé à remplacer) bizarre, non ?

Merci encore en tout cas
Serge

je la recopie, sait-on jamais
à tester :

Sub ne_rougit_pas()
For Each cel In Intersect(ActiveSheet.UsedRange, Columns(1))
If InStr(cel.Value, cel.Offset(0, 1).Value) > 0 Then
cel.Characters(Start:=InStr(cel.Value, cel.Offset(0, 1).Value),
Length:=Len(cel.Offset(0, 1))).Font.ColorIndex = 3
End If
Next cel
End Sub
--

http://jacxl.free.fr/



"Marc Lebut (et son voisin)" a écrit dans le
message

de news: bqo5hd$2346$
Rebonjour
Mon précédent post n'était vraiment pas clair et je m'en excuse,
d'autant


que mon copié/collé à perdu la forme du tableau.
Bref, je réexplique mon problème.
Je cherche à faire une macro qui :
1. Compare deux colonnes (A et B par ex.)
2. Repère si le texte présent dans les cellules de B se trouve aussi
dans


la
cellule correspondant en
A B
1 Bonjour le monde ! monde
2 Bonjour le monde ! salut
3 Bonjour le monde ! bonjour
3. Et si oui, colore en rouge dans la col A la partie du texte
doublonnée


("monde" en A1, "bonjour" en A3)
Pensez-vous que ce soit possible ?
Un grand merci d'avance pour votre aide

Marc








Avatar
padbra
"Marc Lebut (et son voisin)" a écrit dans le message
de news: bqobak$2fab$

ma précédente réponse à ta précédente question était-elle moins claire
que


ta question ?


Hello
Ben écoute, aucune réponse à mon précédent message à l'horizon, mais quoi
qu'il en soit, CA MARCHE !
Un grand merci à toi
J'ai essayé de la modifier en rajoutant du gras sur le rouge, mais pour y
arriver, j'ai copié/collé la ligne en remplacant la fin par .Font.Bold > True (je ne sais pas omment l'ajouter à l'autre)
Salut,


Sub ne_rougit_pas()
Dim cel As Range

For Each cel In Intersect(ActiveSheet.UsedRange, Columns(1))
If ((InStr(cel.Value, cel.Offset(0, 1).Value) > 0) And (cel.Offset(0,
1).Value > 0)) Then
With cel.Characters(Start:=InStr(cel.Value, cel.Offset(0, 1).Value),
Length:=Len(cel.Offset(0, 1))).Font
.ColorIndex = 3
.FontStyle = "Gras"
End With
End If
Next cel
End Sub


Avatar
Michel Gaboly
Bonjour padbra,

Je te conseille d'utiliser

.Font.Bold = True

plutôt que

.FontStyle = "Gras"

La différence est que la première est plus universelle : si pour une raison
quelconque, le classeur est ouvert avec une version d'Excel qui n'est pas en
Français, le "Gras" provoquera un plantage ou au mieux ne fonctionnera pas
(pas de version étrangère sous la main pour tester).



"Marc Lebut (et son voisin)" a écrit dans le message
de news: bqobak$2fab$

ma précédente réponse à ta précédente question était-elle moins claire
que


ta question ?


Hello
Ben écoute, aucune réponse à mon précédent message à l'horizon, mais quoi
qu'il en soit, CA MARCHE !
Un grand merci à toi
J'ai essayé de la modifier en rajoutant du gras sur le rouge, mais pour y
arriver, j'ai copié/collé la ligne en remplacant la fin par .Font.Bold > > True (je ne sais pas omment l'ajouter à l'autre)
Salut,


Sub ne_rougit_pas()
Dim cel As Range

For Each cel In Intersect(ActiveSheet.UsedRange, Columns(1))
If ((InStr(cel.Value, cel.Offset(0, 1).Value) > 0) And (cel.Offset(0,
1).Value > 0)) Then
With cel.Characters(Start:=InStr(cel.Value, cel.Offset(0, 1).Value),
Length:=Len(cel.Offset(0, 1))).Font
.ColorIndex = 3
.FontStyle = "Gras"
End With
End If
Next cel
End Sub


--
Cordialement,

Michel Gaboly
http://www.gaboly.com



Avatar
padbra
Bonjour Michel,
C'est a cause du vilainenregistreurdemacrosquimeditquedesbetises. ;o))

Merci pour cette syntaxe + 'universelle', c'est note.
padbra

"Michel Gaboly" a écrit dans le message de news:

Bonjour padbra,

Je te conseille d'utiliser

.Font.Bold = True

plutôt que

.FontStyle = "Gras"

La différence est que la première est plus universelle : si pour une
raison

quelconque, le classeur est ouvert avec une version d'Excel qui n'est pas
en

Français, le "Gras" provoquera un plantage ou au mieux ne fonctionnera pas
(pas de version étrangère sous la main pour tester).



"Marc Lebut (et son voisin)" a écrit dans le
message


de news: bqobak$2fab$

ma précédente réponse à ta précédente question était-elle moins
claire




que
ta question ?


Hello
Ben écoute, aucune réponse à mon précédent message à l'horizon, mais
quoi



qu'il en soit, CA MARCHE !
Un grand merci à toi
J'ai essayé de la modifier en rajoutant du gras sur le rouge, mais
pour y



arriver, j'ai copié/collé la ligne en remplacant la fin par .Font.Bold
True (je ne sais pas omment l'ajouter à l'autre)
Salut,


Sub ne_rougit_pas()
Dim cel As Range

For Each cel In Intersect(ActiveSheet.UsedRange, Columns(1))
If ((InStr(cel.Value, cel.Offset(0, 1).Value) > 0) And
(cel.Offset(0,


1).Value > 0)) Then
With cel.Characters(Start:=InStr(cel.Value, cel.Offset(0, 1).Value),
Length:=Len(cel.Offset(0, 1))).Font
.ColorIndex = 3
.FontStyle = "Gras"
End With
End If
Next cel
End Sub


--
Cordialement,

Michel Gaboly
http://www.gaboly.com







Avatar
Michel Gaboly
Ohh, le vilain ;-))))



Bonjour Michel,
C'est a cause du vilainenregistreurdemacrosquimeditquedesbetises. ;o))

Merci pour cette syntaxe + 'universelle', c'est note.
padbra

"Michel Gaboly" a écrit dans le message de news:

Bonjour padbra,

Je te conseille d'utiliser

.Font.Bold = True

plutôt que

.FontStyle = "Gras"

La différence est que la première est plus universelle : si pour une
raison

quelconque, le classeur est ouvert avec une version d'Excel qui n'est pas
en

Français, le "Gras" provoquera un plantage ou au mieux ne fonctionnera pas
(pas de version étrangère sous la main pour tester).



"Marc Lebut (et son voisin)" a écrit dans le
message


de news: bqobak$2fab$

ma précédente réponse à ta précédente question était-elle moins
claire




que
ta question ?


Hello
Ben écoute, aucune réponse à mon précédent message à l'horizon, mais
quoi



qu'il en soit, CA MARCHE !
Un grand merci à toi
J'ai essayé de la modifier en rajoutant du gras sur le rouge, mais
pour y



arriver, j'ai copié/collé la ligne en remplacant la fin par .Font.Bold
True (je ne sais pas omment l'ajouter à l'autre)
Salut,



Sub ne_rougit_pas()
Dim cel As Range

For Each cel In Intersect(ActiveSheet.UsedRange, Columns(1))
If ((InStr(cel.Value, cel.Offset(0, 1).Value) > 0) And
(cel.Offset(0,


1).Value > 0)) Then
With cel.Characters(Start:=InStr(cel.Value, cel.Offset(0, 1).Value),
Length:=Len(cel.Offset(0, 1))).Font
.ColorIndex = 3
.FontStyle = "Gras"
End With
End If
Next cel
End Sub


--
Cordialement,

Michel Gaboly
http://www.gaboly.com





--
Cordialement,

Michel Gaboly
http://www.gaboly.com





Avatar
Marc Lebut \(et son voisin\)
C'est cool merci !

Juste pour info ,
Font.Bold = True
ca ne marche pas,
il faut bien mettre
FontStyle = "Gras"
ou
FontStyle = "Bold"

Merci

Marc


"padbra" a écrit dans le message de
news:

"Marc Lebut (et son voisin)" a écrit dans le
message

de news: bqobak$2fab$

ma précédente réponse à ta précédente question était-elle moins claire
que


ta question ?


Hello
Ben écoute, aucune réponse à mon précédent message à l'horizon, mais
quoi


qu'il en soit, CA MARCHE !
Un grand merci à toi
J'ai essayé de la modifier en rajoutant du gras sur le rouge, mais pour
y


arriver, j'ai copié/collé la ligne en remplacant la fin par .Font.Bold > > True (je ne sais pas omment l'ajouter à l'autre)
Salut,


Sub ne_rougit_pas()
Dim cel As Range

For Each cel In Intersect(ActiveSheet.UsedRange, Columns(1))
If ((InStr(cel.Value, cel.Offset(0, 1).Value) > 0) And (cel.Offset(0,
1).Value > 0)) Then
With cel.Characters(Start:=InStr(cel.Value, cel.Offset(0, 1).Value),
Length:=Len(cel.Offset(0, 1))).Font
.ColorIndex = 3
.FontStyle = "Gras"
End With
End If
Next cel
End Sub






Avatar
AV
Juste pour info ,
Font.Bold = True
ca ne marche pas,


Ce serait très étonnant !

[A1].Font.Bold = True
Ca fait pas ?

AV