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

Repérage visuel du pointeur de la cellule active

3 réponses
Avatar
TitusVII
Bonne et heureuse année à tous,

La routine qui suit a été téléchargée de cette adresse :

http://office.microsoft.com/fr-fr/excel/HA011366231036.aspx?pid=CL100570551036

Est-ce que quelqu'un pourrait me dire pourquoi les bandes de couleurs
n'apparaissent pas?
J'ai pourtant inséré dans la procédure des MsgBox qui fonctionnent bien.

Merci à l'avance

*******************

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim iColor As Integer

'// Remarque : ne pas utiliser si vous avez des mises en forme
'// conditionnelles que vous souhaitez conserver

'// On Error reprend si l'utilisateur sélectionne une plage de cellules
On Error Resume Next
iColor = Target.Interior.ColorIndex

'// Laisse On Error ACTIVÉ pour les erreurs de décalage de lignes
If iColor < 0 Then
iColor = 36
Else
iColor = iColor + 1
End If

'// Test nécessaire si la couleur de la police est la même
If iColor = Target.Font.ColorIndex Then iColor = iColor + 1
Cells.FormatConditions.Delete

'// Bande de couleur horizontale
With Range("A" & Target.Row, Target.Address) 'Rows(Target.Row)
.FormatConditions.Add Type:=2, Formula1:="TRUE"
.FormatConditions(1).Interior.ColorIndex = iColor
End With

'// Bande de couleur verticale
With Range(Target.Offset(1 - Target.Row, 0).Address & ":" & _
Target.Offset(-1, 0).Address) 'Rows(Target.Row)
.FormatConditions.Add Type:=2, Formula1:="TRUE"
.FormatConditions(1).Interior.ColorIndex = iColor
End With

End Sub

3 réponses

Avatar
JB
Bonjour,

Coloriage ligne et colonne de la cellule active.

Nom Service Salaire Date naissance
Dupont Compta 3000 € 11/11/1980
Martin Etudes 2500 € 12/11/1980
Dampierre Compta 2501 € 13/11/1980
Lebossé Compta 2502 € 14/11/1980
Bisson Compta 2503 € 15/11/1980

-Selectionner le champ A2:D16
-Format/Mise en forme conditionnelle
=ET(LIGNE()ÎLLULE("ligne");COLONNE()<ÎLLULE("colonne"))
=ET(COLONNE()ÎLLULE("colonne");LIGNE()<ÎLLULE("ligne"))

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Calculate
End Sub

http://boisgontierj.free.fr/pages_site/curseur.htm

Cordialement JB

TitusVII a écrit :

Bonne et heureuse année à tous,

La routine qui suit a été téléchargée de cette a dresse :

http://office.microsoft.com/fr-fr/excel/HA011366231036.aspx?pid=CL10057 0551036

Est-ce que quelqu'un pourrait me dire pourquoi les bandes de couleurs
n'apparaissent pas?
J'ai pourtant inséré dans la procédure des MsgBox qui fonc tionnent bien.

Merci à l'avance

*******************

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim iColor As Integer

'// Remarque : ne pas utiliser si vous avez des mises en forme
'// conditionnelles que vous souhaitez conserver

'// On Error reprend si l'utilisateur sélectionne une plage de cellu les
On Error Resume Next
iColor = Target.Interior.ColorIndex

'// Laisse On Error ACTIVÉ pour les erreurs de décalage de lign es
If iColor < 0 Then
iColor = 36
Else
iColor = iColor + 1
End If

'// Test nécessaire si la couleur de la police est la même
If iColor = Target.Font.ColorIndex Then iColor = iColor + 1
Cells.FormatConditions.Delete

'// Bande de couleur horizontale
With Range("A" & Target.Row, Target.Address) 'Rows(Target.Row)
.FormatConditions.Add Type:=2, Formula1:="TRUE"
.FormatConditions(1).Interior.ColorIndex = iColor
End With

'// Bande de couleur verticale
With Range(Target.Offset(1 - Target.Row, 0).Address & ":" & _
Target.Offset(-1, 0).Address) 'Rows(Target.Row)
.FormatConditions.Add Type:=2, Formula1:="TRUE"
.FormatConditions(1).Interior.ColorIndex = iColor
End With

End Sub


Avatar
JB
Il faut remplacer TRUE par VRAI .

JB

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim iColor As Integer

'// Remarque : ne pas utiliser si vous avez des mises en forme
'// conditionnelles que vous souhaitez conserver

'// On Error reprend si l'utilisateur sélectionne une plage de
cellules
On Error Resume Next
iColor = Target.Interior.ColorIndex

'// Laisse On Error ACTIVÉ pour les erreurs de décalage de lignes
If iColor < 0 Then
iColor = 36
Else
iColor = iColor + 1
End If

'// Test nécessaire si la couleur de la police est la même
If iColor = Target.Font.ColorIndex Then iColor = iColor + 1
Cells.FormatConditions.Delete

'// Bande de couleur horizontale
With Range("A" & Target.Row, Target.Address) 'Rows(Target.Row)
.FormatConditions.Add Type:=2, Formula1:="VRAI"
.FormatConditions(1).Interior.ColorIndex = iColor
End With

'// Bande de couleur verticale
With Range(Target.Offset(1 - Target.Row, 0).Address & ":" & _
Target.Offset(-1, 0).Address) 'Rows(Target.Row)
.FormatConditions.Add Type:=2, Formula1:="VRAI"
.FormatConditions(1).Interior.ColorIndex = iColor
End With

End Sub

TitusVII a écrit :

Merci JB,

Tes procédures fonctionnent très bien, malheureusement je nâ €™y comprends rien.

J’aurais dû préciser que je suis un « pré nov ice » qui s’initie au VBA en
analysant des programmes déjà faits. Je n’ai pas vraime nt besoin d’un
programme qui met en évidence la cellule active, je cherche seulemen t à
comprendre comment ça fonctionne.

Le programme que j’ai annexé ne fonctionne pas, c.-à-d. que la ligne et la
colonne de la cellule active ne sont pas coloriées. Pourtant, le pro gramme
compile bien. Est-ce qu’il contient une erreur que le compilateur ignore?
Est-ce parce que j’ai un problème de configuration?

Merci pour votre aide

**************************


Bonjour,

Coloriage ligne et colonne de la cellule active.

Nom Service Salaire Date naissance
Dupont Compta 3000 € 11/11/1980
Martin Etudes 2500 € 12/11/1980
Dampierre Compta 2501 € 13/11/1980
Lebossé Compta 2502 € 14/11/1980
Bisson Compta 2503 € 15/11/1980

-Selectionner le champ A2:D16
-Format/Mise en forme conditionnelle
=ET(LIGNE()ÎLLULE("ligne");COLONNE()<ÎLLULE("colonne"))
=ET(COLONNE()ÎLLULE("colonne");LIGNE()<ÎLLULE("ligne"))

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Calculate
End Sub

http://boisgontierj.free.fr/pages_site/curseur.htm

Cordialement JB


Bonne et heureuse année à tous,

La routine qui suit a été téléchargée de cet te adresse :

http://office.microsoft.com/fr-fr/excel/HA011366231036.aspx?pid=CL1 00570551036

Est-ce que quelqu'un pourrait me dire pourquoi les bandes de couleurs
n'apparaissent pas?
J'ai pourtant inséré dans la procédure des MsgBox qui fonctionnent bien.

Merci à l'avance

*******************

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim iColor As Integer

'// Remarque : ne pas utiliser si vous avez des mises en forme
'// conditionnelles que vous souhaitez conserver

'// On Error reprend si l'utilisateur sélectionne une plage de c ellules
On Error Resume Next
iColor = Target.Interior.ColorIndex

'// Laisse On Error ACTIVÉ pour les erreurs de décalage de lignes
If iColor < 0 Then
iColor = 36
Else
iColor = iColor + 1
End If

'// Test nécessaire si la couleur de la police est la même
If iColor = Target.Font.ColorIndex Then iColor = iColor + 1
Cells.FormatConditions.Delete

'// Bande de couleur horizontale
With Range("A" & Target.Row, Target.Address) 'Rows(Target.Row)
.FormatConditions.Add Type:=2, Formula1:="TRUE"
.FormatConditions(1).Interior.ColorIndex = iColor
End With

'// Bande de couleur verticale
With Range(Target.Offset(1 - Target.Row, 0).Address & ":" & _
Target.Offset(-1, 0).Address) 'Rows(Target.Row)
.FormatConditions.Add Type:=2, Formula1:="TRUE"
.FormatConditions(1).Interior.ColorIndex = iColor
End With

End Sub








Avatar
JB
Coloriage de la ligne et colonne cellule active pour un champ
-le champ ne doit pas avoir de couleur de fond
-mais accepte les MFC

http://cjoint.com/?bcsRF2xgPu

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([A2:D30], Target) Is Nothing And Target.Count = 1
Then
[A1:D30].Interior.ColorIndex = xlNone
Range(Cells(1, Target.Column), Cells(Target.Row,
Target.Column)).Interior.ColorIndex = 36
Range(Cells(Target.Row, 1), Cells(Target.Row,
Target.Column)).Interior.ColorIndex = 36
End If
End Sub


JB

TitusVII a écrit :

Merci JB,

Tes procédures fonctionnent très bien, malheureusement je nâ €™y comprends rien.

J’aurais dû préciser que je suis un « pré nov ice » qui s’initie au VBA en
analysant des programmes déjà faits. Je n’ai pas vraime nt besoin d’un
programme qui met en évidence la cellule active, je cherche seulemen t à
comprendre comment ça fonctionne.

Le programme que j’ai annexé ne fonctionne pas, c.-à-d. que la ligne et la
colonne de la cellule active ne sont pas coloriées. Pourtant, le pro gramme
compile bien. Est-ce qu’il contient une erreur que le compilateur ignore?
Est-ce parce que j’ai un problème de configuration?

Merci pour votre aide

**************************


Bonjour,

Coloriage ligne et colonne de la cellule active.

Nom Service Salaire Date naissance
Dupont Compta 3000 € 11/11/1980
Martin Etudes 2500 € 12/11/1980
Dampierre Compta 2501 € 13/11/1980
Lebossé Compta 2502 € 14/11/1980
Bisson Compta 2503 € 15/11/1980

-Selectionner le champ A2:D16
-Format/Mise en forme conditionnelle
=ET(LIGNE()ÎLLULE("ligne");COLONNE()<ÎLLULE("colonne"))
=ET(COLONNE()ÎLLULE("colonne");LIGNE()<ÎLLULE("ligne"))

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Calculate
End Sub

http://boisgontierj.free.fr/pages_site/curseur.htm

Cordialement JB


Bonne et heureuse année à tous,

La routine qui suit a été téléchargée de cet te adresse :

http://office.microsoft.com/fr-fr/excel/HA011366231036.aspx?pid=CL1 00570551036

Est-ce que quelqu'un pourrait me dire pourquoi les bandes de couleurs
n'apparaissent pas?
J'ai pourtant inséré dans la procédure des MsgBox qui fonctionnent bien.

Merci à l'avance

*******************

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim iColor As Integer

'// Remarque : ne pas utiliser si vous avez des mises en forme
'// conditionnelles que vous souhaitez conserver

'// On Error reprend si l'utilisateur sélectionne une plage de c ellules
On Error Resume Next
iColor = Target.Interior.ColorIndex

'// Laisse On Error ACTIVÉ pour les erreurs de décalage de lignes
If iColor < 0 Then
iColor = 36
Else
iColor = iColor + 1
End If

'// Test nécessaire si la couleur de la police est la même
If iColor = Target.Font.ColorIndex Then iColor = iColor + 1
Cells.FormatConditions.Delete

'// Bande de couleur horizontale
With Range("A" & Target.Row, Target.Address) 'Rows(Target.Row)
.FormatConditions.Add Type:=2, Formula1:="TRUE"
.FormatConditions(1).Interior.ColorIndex = iColor
End With

'// Bande de couleur verticale
With Range(Target.Offset(1 - Target.Row, 0).Address & ":" & _
Target.Offset(-1, 0).Address) 'Rows(Target.Row)
.FormatConditions.Add Type:=2, Formula1:="TRUE"
.FormatConditions(1).Interior.ColorIndex = iColor
End With

End Sub