Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

MFC

5 réponses
Avatar
pb
Bonjour,
Lors d'un clic sur une cellule je cherche à mettre en évidence (surlignage,
couleur..) la même valeur dans les colonnes adjacentes.
Des pistes??
Merci

5 réponses

Avatar
Daniel.C
Bonjour.

Mets la macro suivante dans le module de la feuille. Le problème est
qu'elle efface toutes les couleurs des fonds de cellule. En outre, elle
doit être améliorée pour les colonnes A et IV qui provoquent une
erreur. Si elle te convient, je corrigerai le problème de ces colonnes.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim ResAdr As String, c As Range
If Target.Count > 1 Or Target.Value = "" Then Exit Sub
Cells.Interior.ColorIndex = xlNone
With ActiveSheet
Set c = .UsedRange.Find(Target.Value, , , xlWhole)
If Not c Is Nothing Then
ResAdr = c.Address
Do
If c.Column = Target.Column + 1 Or c.Column = Target.Column - 1
Then
Var = c.Address
c.Interior.ColorIndex = 3
Set c = Cells.FindNext(c)
End If
Set c = .UsedRange.FindNext(c)
Loop While ResAdr <> c.Address And c <> ""
End If
End With
End Sub

Cordialement.
Daniel

Bonjour,
Lors d'un clic sur une cellule je cherche à mettre en évidence (surlignage,
couleur..) la même valeur dans les colonnes adjacentes.
Des pistes??
Merci


Avatar
pb
Merci Daniel,
Je teste et reviens vers toi au cas ou

"Daniel.C" a écrit dans le message de news:

Bonjour.

Mets la macro suivante dans le module de la feuille. Le problème est
qu'elle efface toutes les couleurs des fonds de cellule. En outre, elle
doit être améliorée pour les colonnes A et IV qui provoquent une erreur.
Si elle te convient, je corrigerai le problème de ces colonnes.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim ResAdr As String, c As Range
If Target.Count > 1 Or Target.Value = "" Then Exit Sub
Cells.Interior.ColorIndex = xlNone
With ActiveSheet
Set c = .UsedRange.Find(Target.Value, , , xlWhole)
If Not c Is Nothing Then
ResAdr = c.Address
Do
If c.Column = Target.Column + 1 Or c.Column = Target.Column - 1
Then
Var = c.Address
c.Interior.ColorIndex = 3
Set c = Cells.FindNext(c)
End If
Set c = .UsedRange.FindNext(c)
Loop While ResAdr <> c.Address And c <> ""
End If
End With
End Sub

Cordialement.
Daniel

Bonjour,
Lors d'un clic sur une cellule je cherche à mettre en évidence
(surlignage, couleur..) la même valeur dans les colonnes adjacentes.
Des pistes??
Merci







Avatar
pb
Non la macro plante sur cette ligne

If Target.Count > 1 Or Target.Value = "" Then

De plus le probléme ce complique car la ligne

Cells.Interior.ColorIndex = xlNone
Supprime les couleurs hors j'ai des MFC.

Que faire?


"Daniel.C" a écrit dans le message de news:

Bonjour.

Mets la macro suivante dans le module de la feuille. Le problème est
qu'elle efface toutes les couleurs des fonds de cellule. En outre, elle
doit être améliorée pour les colonnes A et IV qui provoquent une erreur.
Si elle te convient, je corrigerai le problème de ces colonnes.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim ResAdr As String, c As Range
If Target.Count > 1 Or Target.Value = "" Then Exit Sub
Cells.Interior.ColorIndex = xlNone
With ActiveSheet
Set c = .UsedRange.Find(Target.Value, , , xlWhole)
If Not c Is Nothing Then
ResAdr = c.Address
Do
If c.Column = Target.Column + 1 Or c.Column = Target.Column - 1
Then
Var = c.Address
c.Interior.ColorIndex = 3
Set c = Cells.FindNext(c)
End If
Set c = .UsedRange.FindNext(c)
Loop While ResAdr <> c.Address And c <> ""
End If
End With
End Sub

Cordialement.
Daniel

Bonjour,
Lors d'un clic sur une cellule je cherche à mettre en évidence
(surlignage, couleur..) la même valeur dans les colonnes adjacentes.
Des pistes??
Merci







Avatar
Daniel.C
> Non la macro plante sur cette ligne

If Target.Count > 1 Or Target.Value = "" Then




La ligne exacte est :
If Target.Count > 1 Or Target.Value = "" Then Exit Sub
erreur de recopie ?

De plus le probléme ce complique car la ligne

Cells.Interior.ColorIndex = xlNone
Supprime les couleurs hors j'ai des MFC.



Je te l'avais signalé. Si tu as mis des couleurs de remplissage, elles
sont supprimées et tu ne peux pas utiliser la macro. Je suis obligé de
faire cette effacement, sinon, au fur et à mesure que tu vas cliquer
sur une cellule, la feuille va se colorier en conservant les couleurs
des sélections précédentes.
La macro ne supprime pas les couleurs conditionnelles qui priment sur
la couleur de remplissage. Elle ne peut pas, par contre, colorier ces
cellules.
Une autre approche serait simplement de sélectionner les cellules, au
lieu de les colorier, pour les mettre en évidence. Si cela te convient,
dis-le moi.
Daniel
Avatar
pb
J'ai résolu le problème avec cela
Sub cherche_plusieurs()
nom = InputBox("Nom cherché?")
Set champ = [A1:V52]
champ.Interior.ColorIndex = xlNone
Set c = champ.Find(nom, LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then
premier = c.Address
Do
c.Interior.ColorIndex = 4
Set c = champ.FindNext(c)
Loop While Not c Is Nothing And c.Address <> premier
End If
End Sub

Maintenant il faudrait que via un autre bouton je puisse annuler la dernière
action



"Daniel.C" a écrit dans le message de news:

Non la macro plante sur cette ligne

If Target.Count > 1 Or Target.Value = "" Then




La ligne exacte est :
If Target.Count > 1 Or Target.Value = "" Then Exit Sub
erreur de recopie ?

De plus le probléme ce complique car la ligne

Cells.Interior.ColorIndex = xlNone
Supprime les couleurs hors j'ai des MFC.



Je te l'avais signalé. Si tu as mis des couleurs de remplissage, elles
sont supprimées et tu ne peux pas utiliser la macro. Je suis obligé de
faire cette effacement, sinon, au fur et à mesure que tu vas cliquer sur
une cellule, la feuille va se colorier en conservant les couleurs des
sélections précédentes.
La macro ne supprime pas les couleurs conditionnelles qui priment sur la
couleur de remplissage. Elle ne peut pas, par contre, colorier ces
cellules.
Une autre approche serait simplement de sélectionner les cellules, au lieu
de les colorier, pour les mettre en évidence. Si cela te convient, dis-le
moi.
Daniel