Survole de cellule sue Excel
Bonjour à vous
J'ai repris un fichier existant sur le site que je voudrais finir de transformer, cela concerne le survole de cellule.
La ligne 2 devient rouge quand le met le curseur en B2 (voir mon fichier)
Je voudrais la même effet pour chaque ligne.
J'ai fait quelque transformation sur le ficher d'origine, mais je suis bloqué.
Je joins mon fichier
Merci d'avance BD
Bonsoir,
avec ce système il vous faut un label par ligne ! Ou alors un seul label et en fonction de la position de la souris sur ce label on peut déterminer quelle ligne il faut mettre en couleur.
Mais un clic gauche sur une cellule ne vous convient pas ?
@ bientôt
LouReeD
Bonsoir,
Voilà 2 solutions (Code à mettre dans la feuille voulue) - commentaires dans le code
Surlignage par sélection :
Public AdrRow As String
Public S_Count As Long
Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'Auteur RyuAutodidacte
Dim S As String, DebutLigne As Integer, Derligne As Long
S = "B:H" 'Colonnes voulues pour le surlignage
DebutLigne = 2 ' à partir de quelle ligne on prend en compte le surlignage
Derligne = Cells(Rows.Count, "B").End(xlUp).Row ' à partir de quelle ligne on ne prend plus en compte le surlignage
' Empêche le surlignage si la selection est en dehors de la zone => ici B:H de la ligne 2 à la dernière ligne non vide
If Not Application.Intersect(Target, Range(S).Rows(DebutLigne & ":" & Derligne)) Is Nothing Then
'on supprime l'ancien surlignage
If AdrRow <> "" Then Range(S).Rows(Range(AdrRow).Row).Resize(S_Count).Interior.ColorIndex = xlNone
If [A1] = "True" Then 'Choisir un Cellule pour activer le surlignage en marquant True - ici en A1
Range(S).Rows(Target.Row).Resize(Selection.Rows.Count).Interior.ColorIndex = 6 ' Surlignage dela zone sélectionnée
End If
' variable public pour effacerl'ancien surlignage
S_Count = Selection.Rows.Count
AdrRow = Selection.Address
End If
End Sub
' PS ; possiblité de surligné plusieurs lignes contiguesSurlignage par clic droit sur la cellule :
Public AdrRow As String
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
'Auteur RyuAutodidacte
Dim S As String, DebutLigne As Integer, Derligne As Long
S = "B:H" ' Colonnes voulues pour le surlignage
DebutLigne = 2 ' à partir de quelle ligne on prend en compte le surlignage
Derligne = Cells(Rows.Count, "B").End(xlUp).Row ' à partir de quelle ligne on ne prend plus en compte le surlignage
' Empêche le surlignage si la selection est en dehors de la zone => ici B:H de la ligne 2 à la dernière ligne non vide
If Not Application.Intersect(Target, Range(S).Rows(DebutLigne & ":" & Derligne)) Is Nothing Then
'on supprime l'ancien surlignage
If AdrRow <> "" Then Range(S).Rows(Range(AdrRow).Row).Interior.ColorIndex = xlNone
If [A1] = "True" Then 'Choisir un Cellule pour activer/désavtiver le surlignage - marquer True pour activer - ici en A1
Range(S).Rows(Target.Row).Interior.ColorIndex = 6 'Surlignage dela zone sélectionnée
End If
' variable public pour effacerl'ancien surlignage
AdrRow = Selection.Address
Cancel = True 'on annule le clic droit
End If
End SubBonjour à vous et merci de m'avoir répondu, j'y connaît pratiquement rien en VBA .
CE QUE JE SOUHAITE:
- quand je suis sur une cellule, a1 par exemple la ligne a1: h1 par exemple change de couleur.
idem pour plusieurs cellule a1 a2 a3 etc.
Pouvez-vous me renvoyer le fichier ce sera plus simple pour moi.
Merci beaucoup
Bonjour,
• Dans la 1ère Feuille : via macro avec sélection :
- la flèche rouge indique ou se trouve la Macro
- l'encadré rouge montre les paramètres que vous pouvez modifier
• Dans la second feuille, le surlignement se fait avec une Mise En Forme Conditionnelle - Sélectionner une Cellule et actualiser avec F9
la Formule est :
=CELLULE("ligne")=LIGNE()
Bonsoir,
RyuAutodidacte bonsoir,
une proposition avec le survole d'un Label ActiveX sur la colonne A qui "allume" les colonnes B à H :
Si votre tableau comporte des couleurs qu'il faut conserver alors il faudra passer par une MFC en fonction d'une valeur inscrite en colonne A, cette valeur dépendant de la position de la souris sur le Label, comme cela vos couleurs resteront intactes.
@ bientôt
LouReeD
Avec conservation des couleurs sur le tableau :
@ bientôt
LouReeD
Bonsoir,
Hello @LouReeD,
Désolé mais je suis sur Mac donc tout ce qui est activeX ne marche pas sur Mac
Je privilégie quasi tout le temps les codes vba qui marchent sur Mac et PC …
Voilà donc une autre solution qui n'efface pas les couleurs (3ème feuille - MACRO ET MFC)
- une qui sélectionne seulement une ligne :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'auteur Ryuautodidacte
Dim Col As String, Deb As Byte, DerL As Long
Col = "A:H": Deb = 1: DerL = Cells(Rows.Count, Mid(Col, 1, 1)).End(xlUp).Row
If Not Application.Intersect(Target, Range(Col).Rows(Deb & ":" & DerL)) Is Nothing Then
Range(Col).Rows(Deb & ":" & DerL).FormatConditions.Delete
With Range(Col).Rows(Target.Row)
.FormatConditions.Add Type:=2, Formula1:="=CELLULE(""ligne"")=LIGNE()"
With .FormatConditions(1)
.Interior.ColorIndex = 6
.StopIfTrue = False
End With
End With
End If
End Sub- une qui sélectionne seulement une ligne ou plusieurs lignes contigues :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'auteur Ryuautodidacte
Dim Col As String, Deb As Byte, DerL As Long
Col = "A:H": Deb = 1: DerL = Cells(Rows.Count, Mid(Col, 1, 1)).End(xlUp).Row
If Not Application.Intersect(Target, Range(Col).Rows(Deb & ":" & DerL)) Is Nothing Then
Range(Col).Rows(Deb & ":" & DerL).FormatConditions.Delete
With Range(Col).Rows(Target.Row).Resize(Selection.Rows.Count)
.FormatConditions.Add Type:=2, Formula1:="=LIGNES(" & Target.Address & ")"
With .FormatConditions(1)
.Interior.ColorIndex = 6
.StopIfTrue = False
End With
End With
End If
End SubBien sur comme les colonnes, ligne de départ et ligne de fin sont paramétrables …
Le fichier :
Bonjour,
Pour le Mac j'essaie d'y penser, mais quelque fois un ActiveX est "plus" simple et malheureusement ça ne marche pas sur Mac.
De plus, je suis resté sur l'idée première du demandeur.
Et vous devez avoir un 365 Mac alors ? Je dis cela pour votre profile...
Sinon comme je le demandais dans ma première réponse : "un clic gauche sur une cellule ne vous convient pas ? "
Merci à vous pour les propositions "clic gauche/droit"!
@ bientôt
LouReeD
Merci beaucoup RYUAUTODIDACTE c'est exactement ce que je voulais
Bardo
Bonjour Bardo
Merci beaucoup RYUAUTODIDACTE c'est exactement ce que je voulais
Super
Il ne te reste plus qu'à indiquer le message qui vous convient comme solution afin de clôturer ce post,
et mettre 1 point (ce n'est pas une obligation) sur les messages que vous trouvez utiles
Bonne fin de journée
Bonsoir RyuAutodidacte, je suis de retour
la version avec MCF est aussi intéressante, pour Macro et MCF je ne sait pas.
Par contre avec macro et mcf si je clic sur un lettre de colonne toute les lignes après le texte deviennent jaune et le reste.
Encore merci Bardo