Salut,
Pourquoi pas protéger ta feuille ?
Et juste par curiosité, pourquoi passer par une forme pour détecter la
ligne active ? Un ActiveCell.Rowne suffit-il pas ?
Cordialement,
F.
Salut,
Pourquoi pas protéger ta feuille ?
Et juste par curiosité, pourquoi passer par une forme pour détecter la
ligne active ? Un ActiveCell.Rowne suffit-il pas ?
Cordialement,
F.
Salut,
Pourquoi pas protéger ta feuille ?
Et juste par curiosité, pourquoi passer par une forme pour détecter la
ligne active ? Un ActiveCell.Rowne suffit-il pas ?
Cordialement,
F.
Bonjour à tou(te)s,
content de voir après tout ce temps les noms de contributeurs historiqu es :-))))
Une petite question : J'utilise un shape sur une feuille pour identifier la
ligne de la cellule active (merci Gaëtan Mourmant !!!). Est-il possible de le
rendre non sélectionnable ?
Merci d'avance à tous ceux qui vont se précipiter pour résoudre mon souci !
@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin go urmet - G.
Courteline
Bonjour à tou(te)s,
content de voir après tout ce temps les noms de contributeurs historiqu es :-))))
Une petite question : J'utilise un shape sur une feuille pour identifier la
ligne de la cellule active (merci Gaëtan Mourmant !!!). Est-il possible de le
rendre non sélectionnable ?
Merci d'avance à tous ceux qui vont se précipiter pour résoudre mon souci !
@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin go urmet - G.
Courteline
Bonjour à tou(te)s,
content de voir après tout ce temps les noms de contributeurs historiqu es :-))))
Une petite question : J'utilise un shape sur une feuille pour identifier la
ligne de la cellule active (merci Gaëtan Mourmant !!!). Est-il possible de le
rendre non sélectionnable ?
Merci d'avance à tous ceux qui vont se précipiter pour résoudre mon souci !
@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin go urmet - G.
Courteline
Salut,
Dans ce cas pourquoi ne pas colorier le fond de la cellule, plutot que
de mettre un rectangle devant ?
Avec l'exemple ci-dessous, je met en rouge la ligne sélectionné, puis
je la remet dans sa couleur originelle lorsque je sélectionne une
autre ligne.
Attention, je me sers d'une cellule pour conserver la couleur de fond
de chacune de mes cellules de la ligne sélectionnée (voir la partie
configuration, il n'y a que 3 paramètres) :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim colonneDebut As Integer, colonneFin As Integer
Dim historique
Dim c As Range
Dim monHisto As String
Dim MaCelluleDeConfig As Range
'Configuration
Set MaCelluleDeConfig = Feuil2.Cells(1, 1)
colonneDebut = 1
colonneFin = 10
historique = Split(MaCelluleDeConfig.Value, "|")
If Target.Rows.Count = 1 And Target.Columns.Count = 1 And
Target.Row<> historique(0) Then
For Each c In Range(Cells(Target.Row, colonneDebut),
Cells(Target.Row, colonneFin))
monHisto = monHisto& c.Row& "|"& c.Interior.ColorIndex
& "|"
Next
MaCelluleDeConfig.Value = monHisto
Range(Cells(Target.Row, colonneDebut), Cells(Target.Row,
colonneFin)).Interior.ColorIndex = 3
For x = 0 To UBound(historique) Step 2
If historique(x)<> "" Then
Range(Cells(Val(historique(x)), colonneDebut),
Cells(Val(historique(x)), colonneDebut)).Interior.ColorIndex > IIf(historique(x + 1) = -4142, xlNone, historique(x + 1))
colonneDebut = colonneDebut + 1
End If
Next
End If
End Sub
Cordialement,
F.
Salut,
Dans ce cas pourquoi ne pas colorier le fond de la cellule, plutot que
de mettre un rectangle devant ?
Avec l'exemple ci-dessous, je met en rouge la ligne sélectionné, puis
je la remet dans sa couleur originelle lorsque je sélectionne une
autre ligne.
Attention, je me sers d'une cellule pour conserver la couleur de fond
de chacune de mes cellules de la ligne sélectionnée (voir la partie
configuration, il n'y a que 3 paramètres) :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim colonneDebut As Integer, colonneFin As Integer
Dim historique
Dim c As Range
Dim monHisto As String
Dim MaCelluleDeConfig As Range
'Configuration
Set MaCelluleDeConfig = Feuil2.Cells(1, 1)
colonneDebut = 1
colonneFin = 10
historique = Split(MaCelluleDeConfig.Value, "|")
If Target.Rows.Count = 1 And Target.Columns.Count = 1 And
Target.Row<> historique(0) Then
For Each c In Range(Cells(Target.Row, colonneDebut),
Cells(Target.Row, colonneFin))
monHisto = monHisto& c.Row& "|"& c.Interior.ColorIndex
& "|"
Next
MaCelluleDeConfig.Value = monHisto
Range(Cells(Target.Row, colonneDebut), Cells(Target.Row,
colonneFin)).Interior.ColorIndex = 3
For x = 0 To UBound(historique) Step 2
If historique(x)<> "" Then
Range(Cells(Val(historique(x)), colonneDebut),
Cells(Val(historique(x)), colonneDebut)).Interior.ColorIndex > IIf(historique(x + 1) = -4142, xlNone, historique(x + 1))
colonneDebut = colonneDebut + 1
End If
Next
End If
End Sub
Cordialement,
F.
Salut,
Dans ce cas pourquoi ne pas colorier le fond de la cellule, plutot que
de mettre un rectangle devant ?
Avec l'exemple ci-dessous, je met en rouge la ligne sélectionné, puis
je la remet dans sa couleur originelle lorsque je sélectionne une
autre ligne.
Attention, je me sers d'une cellule pour conserver la couleur de fond
de chacune de mes cellules de la ligne sélectionnée (voir la partie
configuration, il n'y a que 3 paramètres) :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim colonneDebut As Integer, colonneFin As Integer
Dim historique
Dim c As Range
Dim monHisto As String
Dim MaCelluleDeConfig As Range
'Configuration
Set MaCelluleDeConfig = Feuil2.Cells(1, 1)
colonneDebut = 1
colonneFin = 10
historique = Split(MaCelluleDeConfig.Value, "|")
If Target.Rows.Count = 1 And Target.Columns.Count = 1 And
Target.Row<> historique(0) Then
For Each c In Range(Cells(Target.Row, colonneDebut),
Cells(Target.Row, colonneFin))
monHisto = monHisto& c.Row& "|"& c.Interior.ColorIndex
& "|"
Next
MaCelluleDeConfig.Value = monHisto
Range(Cells(Target.Row, colonneDebut), Cells(Target.Row,
colonneFin)).Interior.ColorIndex = 3
For x = 0 To UBound(historique) Step 2
If historique(x)<> "" Then
Range(Cells(Val(historique(x)), colonneDebut),
Cells(Val(historique(x)), colonneDebut)).Interior.ColorIndex > IIf(historique(x + 1) = -4142, xlNone, historique(x + 1))
colonneDebut = colonneDebut + 1
End If
Next
End If
End Sub
Cordialement,
F.
Bonjour,
http://boisgontierjacques.free.fr/fichiers/jb-Curseur.xls
JB
On 19 mar, 15:00, ThierryP wrote:Bonjour à tou(te)s,
content de voir après tout ce temps les noms de contributeurs historiques :-))))
Une petite question : J'utilise un shape sur une feuille pour identifier la
ligne de la cellule active (merci Gaëtan Mourmant !!!). Est-il possible de le
rendre non sélectionnable ?
Merci d'avance à tous ceux qui vont se précipiter pour résoudre mon souci !
@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet - G.
Courteline
Bonjour,
http://boisgontierjacques.free.fr/fichiers/jb-Curseur.xls
JB
On 19 mar, 15:00, ThierryP<t...@toto.com> wrote:
Bonjour à tou(te)s,
content de voir après tout ce temps les noms de contributeurs historiques :-))))
Une petite question : J'utilise un shape sur une feuille pour identifier la
ligne de la cellule active (merci Gaëtan Mourmant !!!). Est-il possible de le
rendre non sélectionnable ?
Merci d'avance à tous ceux qui vont se précipiter pour résoudre mon souci !
@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet - G.
Courteline
Bonjour,
http://boisgontierjacques.free.fr/fichiers/jb-Curseur.xls
JB
On 19 mar, 15:00, ThierryP wrote:Bonjour à tou(te)s,
content de voir après tout ce temps les noms de contributeurs historiques :-))))
Une petite question : J'utilise un shape sur une feuille pour identifier la
ligne de la cellule active (merci Gaëtan Mourmant !!!). Est-il possible de le
rendre non sélectionnable ?
Merci d'avance à tous ceux qui vont se précipiter pour résoudre mon souci !
@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet - G.
Courteline
Ouuuuuuuuups,désolé,
J'avais oublié un des maîtres......:-))))
Le 19/03/2010 17:55, JB a écrit :Bonjour,
http://boisgontierjacques.free.fr/fichiers/jb-Curseur.xls
JB
On 19 mar, 15:00, ThierryP wrote:Bonjour à tou(te)s,
content de voir après tout ce temps les noms de contributeurs
historiques :-))))
Une petite question : J'utilise un shape sur une feuille pour
identifier la
ligne de la cellule active (merci Gaëtan Mourmant !!!). Est-il
possible de le
rendre non sélectionnable ?
Merci d'avance à tous ceux qui vont se précipiter pour résoudre mon
souci !
@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G.
Courteline
Ouuuuuuuuups,désolé,
J'avais oublié un des maîtres......:-))))
Le 19/03/2010 17:55, JB a écrit :
Bonjour,
http://boisgontierjacques.free.fr/fichiers/jb-Curseur.xls
JB
On 19 mar, 15:00, ThierryP<t...@toto.com> wrote:
Bonjour à tou(te)s,
content de voir après tout ce temps les noms de contributeurs
historiques :-))))
Une petite question : J'utilise un shape sur une feuille pour
identifier la
ligne de la cellule active (merci Gaëtan Mourmant !!!). Est-il
possible de le
rendre non sélectionnable ?
Merci d'avance à tous ceux qui vont se précipiter pour résoudre mon
souci !
@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G.
Courteline
Ouuuuuuuuups,désolé,
J'avais oublié un des maîtres......:-))))
Le 19/03/2010 17:55, JB a écrit :Bonjour,
http://boisgontierjacques.free.fr/fichiers/jb-Curseur.xls
JB
On 19 mar, 15:00, ThierryP wrote:Bonjour à tou(te)s,
content de voir après tout ce temps les noms de contributeurs
historiques :-))))
Une petite question : J'utilise un shape sur une feuille pour
identifier la
ligne de la cellule active (merci Gaëtan Mourmant !!!). Est-il
possible de le
rendre non sélectionnable ?
Merci d'avance à tous ceux qui vont se précipiter pour résoudre mon
souci !
@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G.
Courteline
Bonsoir ThierryP,
Une alternative aux propositions de JB est de "Piloter" en fonction de
ton besoin la MFC par exemple comme ceci :
' ************* Module Standard*************
' A Exécuter une seule fois, c'est un exemple de MFC, tu peux supprimer
des FormatConditions
Sub InitTP()
' Définition d'un champ nommé (possibilité de le rendre invisible)
ThisWorkbook.Names.Add Name:="LigneActive", RefersToR1C1:="=0"
' Création du format conditionnel en colonne 10
With Columns(10)
.FormatConditions.Add Type:=xlExpression,
Formula1:="=LigneActive=LIGNE()"
With .FormatConditions(1).Font
.Bold = True
.Italic = False
.ColorIndex = 41
End With
.FormatConditions(1).Borders(xlLeft).ColorIndex = 3
.FormatConditions(1).Borders(xlRight).ColorIndex = 3
.FormatConditions(1).Borders(xlTop).ColorIndex = 3
.FormatConditions(1).Borders(xlBottom).ColorIndex = 3
.FormatConditions(1).Interior.ColorIndex = 6
End With
End Sub
' ************* Module de la feuille *************
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ThisWorkbook.Names("LigneActive").RefersToLocal > IIf(Target.Rows.Count = 1, Target.Row, 0)
End Sub
' ******************************************
Cela peut ouvrir d'autres perspectives en mettant en avant une cellule
sans quelle soit obligatoirement sur la même ligne, tu charges
"LigneActive" avec row+1 ou row-3 ou le résultat d'un index... De même
que tu peux mettre plusieurs conditions (ligneactive et colonneactive...)
Dans le même tonneau de la MFC : une astuce pour voir d'un coup d'oeil
les cellules verrouillées, tu mets le format conditionnel suivant dans
ta plage active "ÎLLULE("protege";lacelluleActive)=1" (LaCelluleActive
sans les $) et les cellules verrouillées seront immédiatement
identifées. Pour aller encore plus loin tu associe la condition
précédente avec le résulat d'une case à cochée et tu ne vois les
cellules verrouillées qu'a la demande.
Exemple à la demande.
A+
Benead
Excel 2000
ThierryP a écrit :Ouuuuuuuuups,désolé,
J'avais oublié un des maîtres......:-))))
Le 19/03/2010 17:55, JB a écrit :Bonjour,
http://boisgontierjacques.free.fr/fichiers/jb-Curseur.xls
JB
On 19 mar, 15:00, ThierryP wrote:Bonjour à tou(te)s,
content de voir après tout ce temps les noms de contributeurs
historiques :-))))
Une petite question : J'utilise un shape sur une feuille pour
identifier la
ligne de la cellule active (merci Gaëtan Mourmant !!!). Est-il
possible de le
rendre non sélectionnable ?
Merci d'avance à tous ceux qui vont se précipiter pour résoudre mon
souci !
@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G.
Courteline
Bonsoir ThierryP,
Une alternative aux propositions de JB est de "Piloter" en fonction de
ton besoin la MFC par exemple comme ceci :
' ************* Module Standard*************
' A Exécuter une seule fois, c'est un exemple de MFC, tu peux supprimer
des FormatConditions
Sub InitTP()
' Définition d'un champ nommé (possibilité de le rendre invisible)
ThisWorkbook.Names.Add Name:="LigneActive", RefersToR1C1:="=0"
' Création du format conditionnel en colonne 10
With Columns(10)
.FormatConditions.Add Type:=xlExpression,
Formula1:="=LigneActive=LIGNE()"
With .FormatConditions(1).Font
.Bold = True
.Italic = False
.ColorIndex = 41
End With
.FormatConditions(1).Borders(xlLeft).ColorIndex = 3
.FormatConditions(1).Borders(xlRight).ColorIndex = 3
.FormatConditions(1).Borders(xlTop).ColorIndex = 3
.FormatConditions(1).Borders(xlBottom).ColorIndex = 3
.FormatConditions(1).Interior.ColorIndex = 6
End With
End Sub
' ************* Module de la feuille *************
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ThisWorkbook.Names("LigneActive").RefersToLocal > IIf(Target.Rows.Count = 1, Target.Row, 0)
End Sub
' ******************************************
Cela peut ouvrir d'autres perspectives en mettant en avant une cellule
sans quelle soit obligatoirement sur la même ligne, tu charges
"LigneActive" avec row+1 ou row-3 ou le résultat d'un index... De même
que tu peux mettre plusieurs conditions (ligneactive et colonneactive...)
Dans le même tonneau de la MFC : une astuce pour voir d'un coup d'oeil
les cellules verrouillées, tu mets le format conditionnel suivant dans
ta plage active "ÎLLULE("protege";lacelluleActive)=1" (LaCelluleActive
sans les $) et les cellules verrouillées seront immédiatement
identifées. Pour aller encore plus loin tu associe la condition
précédente avec le résulat d'une case à cochée et tu ne vois les
cellules verrouillées qu'a la demande.
Exemple à la demande.
A+
Benead
Excel 2000
ThierryP a écrit :
Ouuuuuuuuups,désolé,
J'avais oublié un des maîtres......:-))))
Le 19/03/2010 17:55, JB a écrit :
Bonjour,
http://boisgontierjacques.free.fr/fichiers/jb-Curseur.xls
JB
On 19 mar, 15:00, ThierryP<t...@toto.com> wrote:
Bonjour à tou(te)s,
content de voir après tout ce temps les noms de contributeurs
historiques :-))))
Une petite question : J'utilise un shape sur une feuille pour
identifier la
ligne de la cellule active (merci Gaëtan Mourmant !!!). Est-il
possible de le
rendre non sélectionnable ?
Merci d'avance à tous ceux qui vont se précipiter pour résoudre mon
souci !
@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G.
Courteline
Bonsoir ThierryP,
Une alternative aux propositions de JB est de "Piloter" en fonction de
ton besoin la MFC par exemple comme ceci :
' ************* Module Standard*************
' A Exécuter une seule fois, c'est un exemple de MFC, tu peux supprimer
des FormatConditions
Sub InitTP()
' Définition d'un champ nommé (possibilité de le rendre invisible)
ThisWorkbook.Names.Add Name:="LigneActive", RefersToR1C1:="=0"
' Création du format conditionnel en colonne 10
With Columns(10)
.FormatConditions.Add Type:=xlExpression,
Formula1:="=LigneActive=LIGNE()"
With .FormatConditions(1).Font
.Bold = True
.Italic = False
.ColorIndex = 41
End With
.FormatConditions(1).Borders(xlLeft).ColorIndex = 3
.FormatConditions(1).Borders(xlRight).ColorIndex = 3
.FormatConditions(1).Borders(xlTop).ColorIndex = 3
.FormatConditions(1).Borders(xlBottom).ColorIndex = 3
.FormatConditions(1).Interior.ColorIndex = 6
End With
End Sub
' ************* Module de la feuille *************
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ThisWorkbook.Names("LigneActive").RefersToLocal > IIf(Target.Rows.Count = 1, Target.Row, 0)
End Sub
' ******************************************
Cela peut ouvrir d'autres perspectives en mettant en avant une cellule
sans quelle soit obligatoirement sur la même ligne, tu charges
"LigneActive" avec row+1 ou row-3 ou le résultat d'un index... De même
que tu peux mettre plusieurs conditions (ligneactive et colonneactive...)
Dans le même tonneau de la MFC : une astuce pour voir d'un coup d'oeil
les cellules verrouillées, tu mets le format conditionnel suivant dans
ta plage active "ÎLLULE("protege";lacelluleActive)=1" (LaCelluleActive
sans les $) et les cellules verrouillées seront immédiatement
identifées. Pour aller encore plus loin tu associe la condition
précédente avec le résulat d'une case à cochée et tu ne vois les
cellules verrouillées qu'a la demande.
Exemple à la demande.
A+
Benead
Excel 2000
ThierryP a écrit :Ouuuuuuuuups,désolé,
J'avais oublié un des maîtres......:-))))
Le 19/03/2010 17:55, JB a écrit :Bonjour,
http://boisgontierjacques.free.fr/fichiers/jb-Curseur.xls
JB
On 19 mar, 15:00, ThierryP wrote:Bonjour à tou(te)s,
content de voir après tout ce temps les noms de contributeurs
historiques :-))))
Une petite question : J'utilise un shape sur une feuille pour
identifier la
ligne de la cellule active (merci Gaëtan Mourmant !!!). Est-il
possible de le
rendre non sélectionnable ?
Merci d'avance à tous ceux qui vont se précipiter pour résoudre mon
souci !
@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G.
Courteline
Bonjour Benoit(Eh oui, moi j'ai dormi !!!)
Merci pour ces explications aussi fournies que détaillées ! C'est vrai
que les MFC sont très puissantes; pour moi, le gros avantage de ma
solution bricolée est justement que je ne touche pas aux mises en
forme des cellules : en cas de plantage ou de fausse manip, je ne
risque pas d'avoir des cellules avec des mises en forme non désirées
(je ne suis pas le seul à utiliser ce type de fichier). En tous cas,
plein de pistes interessantes à explorer :-)))
Merci
Le 19/03/2010 23:31, "Benoît Marchand [Benead]" a écrit :Bonsoir ThierryP,
Une alternative aux propositions de JB est de "Piloter" en fonction de
ton besoin la MFC par exemple comme ceci :
' ************* Module Standard*************
' A Exécuter une seule fois, c'est un exemple de MFC, tu peux supprimer
des FormatConditions
Sub InitTP()
' Définition d'un champ nommé (possibilité de le rendre invisible)
ThisWorkbook.Names.Add Name:="LigneActive", RefersToR1C1:="=0"
' Création du format conditionnel en colonne 10
With Columns(10)
.FormatConditions.Add Type:=xlExpression,
Formula1:="=LigneActive=LIGNE()"
With .FormatConditions(1).Font
.Bold = True
.Italic = False
.ColorIndex = 41
End With
.FormatConditions(1).Borders(xlLeft).ColorIndex = 3
.FormatConditions(1).Borders(xlRight).ColorIndex = 3
.FormatConditions(1).Borders(xlTop).ColorIndex = 3
.FormatConditions(1).Borders(xlBottom).ColorIndex = 3
.FormatConditions(1).Interior.ColorIndex = 6
End With
End Sub
' ************* Module de la feuille *************
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ThisWorkbook.Names("LigneActive").RefersToLocal >> IIf(Target.Rows.Count = 1, Target.Row, 0)
End Sub
' ******************************************
Cela peut ouvrir d'autres perspectives en mettant en avant une cellule
sans quelle soit obligatoirement sur la même ligne, tu charges
"LigneActive" avec row+1 ou row-3 ou le résultat d'un index... De même
que tu peux mettre plusieurs conditions (ligneactive et
colonneactive...)
Dans le même tonneau de la MFC : une astuce pour voir d'un coup d'oeil
les cellules verrouillées, tu mets le format conditionnel suivant dans
ta plage active "ÎLLULE("protege";lacelluleActive)=1" (LaCelluleActive
sans les $) et les cellules verrouillées seront immédiatement
identifées. Pour aller encore plus loin tu associe la condition
précédente avec le résulat d'une case à cochée et tu ne vois les
cellules verrouillées qu'a la demande.
Exemple à la demande.
A+
Benead
Excel 2000
ThierryP a écrit :Ouuuuuuuuups,désolé,
J'avais oublié un des maîtres......:-))))
Le 19/03/2010 17:55, JB a écrit :Bonjour,
http://boisgontierjacques.free.fr/fichiers/jb-Curseur.xls
JB
On 19 mar, 15:00, ThierryP wrote:Bonjour à tou(te)s,
content de voir après tout ce temps les noms de contributeurs
historiques :-))))
Une petite question : J'utilise un shape sur une feuille pour
identifier la
ligne de la cellule active (merci Gaëtan Mourmant !!!). Est-il
possible de le
rendre non sélectionnable ?
Merci d'avance à tous ceux qui vont se précipiter pour résoudre mon
souci !
@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G.
Courteline
Bonjour Benoit(Eh oui, moi j'ai dormi !!!)
Merci pour ces explications aussi fournies que détaillées ! C'est vrai
que les MFC sont très puissantes; pour moi, le gros avantage de ma
solution bricolée est justement que je ne touche pas aux mises en
forme des cellules : en cas de plantage ou de fausse manip, je ne
risque pas d'avoir des cellules avec des mises en forme non désirées
(je ne suis pas le seul à utiliser ce type de fichier). En tous cas,
plein de pistes interessantes à explorer :-)))
Merci
Le 19/03/2010 23:31, "Benoît Marchand [Benead]" a écrit :
Bonsoir ThierryP,
Une alternative aux propositions de JB est de "Piloter" en fonction de
ton besoin la MFC par exemple comme ceci :
' ************* Module Standard*************
' A Exécuter une seule fois, c'est un exemple de MFC, tu peux supprimer
des FormatConditions
Sub InitTP()
' Définition d'un champ nommé (possibilité de le rendre invisible)
ThisWorkbook.Names.Add Name:="LigneActive", RefersToR1C1:="=0"
' Création du format conditionnel en colonne 10
With Columns(10)
.FormatConditions.Add Type:=xlExpression,
Formula1:="=LigneActive=LIGNE()"
With .FormatConditions(1).Font
.Bold = True
.Italic = False
.ColorIndex = 41
End With
.FormatConditions(1).Borders(xlLeft).ColorIndex = 3
.FormatConditions(1).Borders(xlRight).ColorIndex = 3
.FormatConditions(1).Borders(xlTop).ColorIndex = 3
.FormatConditions(1).Borders(xlBottom).ColorIndex = 3
.FormatConditions(1).Interior.ColorIndex = 6
End With
End Sub
' ************* Module de la feuille *************
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ThisWorkbook.Names("LigneActive").RefersToLocal >> IIf(Target.Rows.Count = 1, Target.Row, 0)
End Sub
' ******************************************
Cela peut ouvrir d'autres perspectives en mettant en avant une cellule
sans quelle soit obligatoirement sur la même ligne, tu charges
"LigneActive" avec row+1 ou row-3 ou le résultat d'un index... De même
que tu peux mettre plusieurs conditions (ligneactive et
colonneactive...)
Dans le même tonneau de la MFC : une astuce pour voir d'un coup d'oeil
les cellules verrouillées, tu mets le format conditionnel suivant dans
ta plage active "ÎLLULE("protege";lacelluleActive)=1" (LaCelluleActive
sans les $) et les cellules verrouillées seront immédiatement
identifées. Pour aller encore plus loin tu associe la condition
précédente avec le résulat d'une case à cochée et tu ne vois les
cellules verrouillées qu'a la demande.
Exemple à la demande.
A+
Benead
Excel 2000
ThierryP a écrit :
Ouuuuuuuuups,désolé,
J'avais oublié un des maîtres......:-))))
Le 19/03/2010 17:55, JB a écrit :
Bonjour,
http://boisgontierjacques.free.fr/fichiers/jb-Curseur.xls
JB
On 19 mar, 15:00, ThierryP<t...@toto.com> wrote:
Bonjour à tou(te)s,
content de voir après tout ce temps les noms de contributeurs
historiques :-))))
Une petite question : J'utilise un shape sur une feuille pour
identifier la
ligne de la cellule active (merci Gaëtan Mourmant !!!). Est-il
possible de le
rendre non sélectionnable ?
Merci d'avance à tous ceux qui vont se précipiter pour résoudre mon
souci !
@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G.
Courteline
Bonjour Benoit(Eh oui, moi j'ai dormi !!!)
Merci pour ces explications aussi fournies que détaillées ! C'est vrai
que les MFC sont très puissantes; pour moi, le gros avantage de ma
solution bricolée est justement que je ne touche pas aux mises en
forme des cellules : en cas de plantage ou de fausse manip, je ne
risque pas d'avoir des cellules avec des mises en forme non désirées
(je ne suis pas le seul à utiliser ce type de fichier). En tous cas,
plein de pistes interessantes à explorer :-)))
Merci
Le 19/03/2010 23:31, "Benoît Marchand [Benead]" a écrit :Bonsoir ThierryP,
Une alternative aux propositions de JB est de "Piloter" en fonction de
ton besoin la MFC par exemple comme ceci :
' ************* Module Standard*************
' A Exécuter une seule fois, c'est un exemple de MFC, tu peux supprimer
des FormatConditions
Sub InitTP()
' Définition d'un champ nommé (possibilité de le rendre invisible)
ThisWorkbook.Names.Add Name:="LigneActive", RefersToR1C1:="=0"
' Création du format conditionnel en colonne 10
With Columns(10)
.FormatConditions.Add Type:=xlExpression,
Formula1:="=LigneActive=LIGNE()"
With .FormatConditions(1).Font
.Bold = True
.Italic = False
.ColorIndex = 41
End With
.FormatConditions(1).Borders(xlLeft).ColorIndex = 3
.FormatConditions(1).Borders(xlRight).ColorIndex = 3
.FormatConditions(1).Borders(xlTop).ColorIndex = 3
.FormatConditions(1).Borders(xlBottom).ColorIndex = 3
.FormatConditions(1).Interior.ColorIndex = 6
End With
End Sub
' ************* Module de la feuille *************
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ThisWorkbook.Names("LigneActive").RefersToLocal >> IIf(Target.Rows.Count = 1, Target.Row, 0)
End Sub
' ******************************************
Cela peut ouvrir d'autres perspectives en mettant en avant une cellule
sans quelle soit obligatoirement sur la même ligne, tu charges
"LigneActive" avec row+1 ou row-3 ou le résultat d'un index... De même
que tu peux mettre plusieurs conditions (ligneactive et
colonneactive...)
Dans le même tonneau de la MFC : une astuce pour voir d'un coup d'oeil
les cellules verrouillées, tu mets le format conditionnel suivant dans
ta plage active "ÎLLULE("protege";lacelluleActive)=1" (LaCelluleActive
sans les $) et les cellules verrouillées seront immédiatement
identifées. Pour aller encore plus loin tu associe la condition
précédente avec le résulat d'une case à cochée et tu ne vois les
cellules verrouillées qu'a la demande.
Exemple à la demande.
A+
Benead
Excel 2000
ThierryP a écrit :Ouuuuuuuuups,désolé,
J'avais oublié un des maîtres......:-))))
Le 19/03/2010 17:55, JB a écrit :Bonjour,
http://boisgontierjacques.free.fr/fichiers/jb-Curseur.xls
JB
On 19 mar, 15:00, ThierryP wrote:Bonjour à tou(te)s,
content de voir après tout ce temps les noms de contributeurs
historiques :-))))
Une petite question : J'utilise un shape sur une feuille pour
identifier la
ligne de la cellule active (merci Gaëtan Mourmant !!!). Est-il
possible de le
rendre non sélectionnable ?
Merci d'avance à tous ceux qui vont se précipiter pour résoudre mon
souci !
@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G.
Courteline