MFC

Le
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
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #19641161
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 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


pb
Le #19641301
Merci Daniel,
Je teste et reviens vers toi au cas ou

"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 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







pb
Le #19641771
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"
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 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







Daniel.C
Le #19641761
> 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
pb
Le #19641971
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"
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




Publicité
Poster une réponse
Anonyme