Bonsoir,
Tout vient à point à celui qui sait attendre, j'ai enfin réussi à faire le
select case, sauf que moi je veux que s'il n'y a rien il ne color pas
l'intérieur. En plus qd je fais un changement cad que j'enlève les lettres
et que j'exécute de nouveau il ne change pas mes couleurs mises avec la
précedente exécution. C'est pas cool ! Une solution est-elle envisageable.
Sub lignecouleur()
'
' lignecouleur Macro
' Macro enregistrée le 01/10/2006 par Véronique
'Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$hs50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
'Case Else
'Rows(c.Row).Interior.ColorIndex = 2
End Select
Next c
End Sub
"Stéphan DuQuébec" a écrit dans le
message de news:Juste parce que le foie gras m'intéresse.....
Moi, j'aime mieux travailler avec des Select Case.
Tu copies donc, de la même façon que Céline expliquait, ce qui suit:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("ICI LE NOM DE TA PLAGE NOMMÉE")
Select Case c
Case "LE FOIE"
Rows(c.Row).Font.ColorIndex = 5
Case "GRAS POUR"
Rows(c.Row).Font.ColorIndex = 46
Case "MON AMI"
Rows(c.Row).Font.ColorIndex = 29
Case "STÉPHAN DU QUÉBEC"
Rows(c.Row).Font.ColorIndex = 3
Case "UNE FOIS"
Rows(c.Row).Font.ColorIndex = 14
Case "DEUX FOIS"
Rows(c.Row).Font.ColorIndex = 10
Case "TROIS FOIS"
Rows(c.Row).Font.ColorIndex = 53
Case "VENDU !!!!!"
Rows(c.Row).Font.ColorIndex = 7
Case Else
Rows(c.Row).Font.ColorIndex = 1
End Select
Next c
End Sub
Salutations !Bonjour,
Comment puis mettre une couleur sur toutes les lignes ou se trouve un mot
en
colonne F et bien sur qu'il prenne une autre couleurs si autre mot et ce
jusqu'à 8 mots différents.
Merci
Bonsoir,
Tout vient à point à celui qui sait attendre, j'ai enfin réussi à faire le
select case, sauf que moi je veux que s'il n'y a rien il ne color pas
l'intérieur. En plus qd je fais un changement cad que j'enlève les lettres
et que j'exécute de nouveau il ne change pas mes couleurs mises avec la
précedente exécution. C'est pas cool ! Une solution est-elle envisageable.
Sub lignecouleur()
'
' lignecouleur Macro
' Macro enregistrée le 01/10/2006 par Véronique
'Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$hs50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
'Case Else
'Rows(c.Row).Interior.ColorIndex = 2
End Select
Next c
End Sub
"Stéphan DuQuébec" <StphanDuQubec@discussions.microsoft.com> a écrit dans le
message de news: D18B24EB-F2FA-4E8E-B8B1-BD2FB47BFE90@microsoft.com...
Juste parce que le foie gras m'intéresse.....
Moi, j'aime mieux travailler avec des Select Case.
Tu copies donc, de la même façon que Céline expliquait, ce qui suit:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("ICI LE NOM DE TA PLAGE NOMMÉE")
Select Case c
Case "LE FOIE"
Rows(c.Row).Font.ColorIndex = 5
Case "GRAS POUR"
Rows(c.Row).Font.ColorIndex = 46
Case "MON AMI"
Rows(c.Row).Font.ColorIndex = 29
Case "STÉPHAN DU QUÉBEC"
Rows(c.Row).Font.ColorIndex = 3
Case "UNE FOIS"
Rows(c.Row).Font.ColorIndex = 14
Case "DEUX FOIS"
Rows(c.Row).Font.ColorIndex = 10
Case "TROIS FOIS"
Rows(c.Row).Font.ColorIndex = 53
Case "VENDU !!!!!"
Rows(c.Row).Font.ColorIndex = 7
Case Else
Rows(c.Row).Font.ColorIndex = 1
End Select
Next c
End Sub
Salutations !
Bonjour,
Comment puis mettre une couleur sur toutes les lignes ou se trouve un mot
en
colonne F et bien sur qu'il prenne une autre couleurs si autre mot et ce
jusqu'à 8 mots différents.
Merci
Bonsoir,
Tout vient à point à celui qui sait attendre, j'ai enfin réussi à faire le
select case, sauf que moi je veux que s'il n'y a rien il ne color pas
l'intérieur. En plus qd je fais un changement cad que j'enlève les lettres
et que j'exécute de nouveau il ne change pas mes couleurs mises avec la
précedente exécution. C'est pas cool ! Une solution est-elle envisageable.
Sub lignecouleur()
'
' lignecouleur Macro
' Macro enregistrée le 01/10/2006 par Véronique
'Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$hs50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
'Case Else
'Rows(c.Row).Interior.ColorIndex = 2
End Select
Next c
End Sub
"Stéphan DuQuébec" a écrit dans le
message de news:Juste parce que le foie gras m'intéresse.....
Moi, j'aime mieux travailler avec des Select Case.
Tu copies donc, de la même façon que Céline expliquait, ce qui suit:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("ICI LE NOM DE TA PLAGE NOMMÉE")
Select Case c
Case "LE FOIE"
Rows(c.Row).Font.ColorIndex = 5
Case "GRAS POUR"
Rows(c.Row).Font.ColorIndex = 46
Case "MON AMI"
Rows(c.Row).Font.ColorIndex = 29
Case "STÉPHAN DU QUÉBEC"
Rows(c.Row).Font.ColorIndex = 3
Case "UNE FOIS"
Rows(c.Row).Font.ColorIndex = 14
Case "DEUX FOIS"
Rows(c.Row).Font.ColorIndex = 10
Case "TROIS FOIS"
Rows(c.Row).Font.ColorIndex = 53
Case "VENDU !!!!!"
Rows(c.Row).Font.ColorIndex = 7
Case Else
Rows(c.Row).Font.ColorIndex = 1
End Select
Next c
End Sub
Salutations !Bonjour,
Comment puis mettre une couleur sur toutes les lignes ou se trouve un mot
en
colonne F et bien sur qu'il prenne une autre couleurs si autre mot et ce
jusqu'à 8 mots différents.
Merci
Bonsoir,
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
Tu te mets aux macros ? :o)
@+
FxMBonsoir,
Tout vient à point à celui qui sait attendre, j'ai enfin réussi à faire
le select case, sauf que moi je veux que s'il n'y a rien il ne color pas
l'intérieur. En plus qd je fais un changement cad que j'enlève les
lettres et que j'exécute de nouveau il ne change pas mes couleurs mises
avec la précedente exécution. C'est pas cool ! Une solution est-elle
envisageable.
Sub lignecouleur()
'
' lignecouleur Macro
' Macro enregistrée le 01/10/2006 par Véronique
'Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$hs50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
'Case Else
'Rows(c.Row).Interior.ColorIndex = 2
End Select
Next c
End Sub
"Stéphan DuQuébec" a écrit dans
le message de news:Juste parce que le foie gras m'intéresse.....
Moi, j'aime mieux travailler avec des Select Case.
Tu copies donc, de la même façon que Céline expliquait, ce qui suit:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("ICI LE NOM DE TA PLAGE NOMMÉE")
Select Case c
Case "LE FOIE"
Rows(c.Row).Font.ColorIndex = 5
Case "GRAS POUR"
Rows(c.Row).Font.ColorIndex = 46
Case "MON AMI"
Rows(c.Row).Font.ColorIndex = 29
Case "STÉPHAN DU QUÉBEC"
Rows(c.Row).Font.ColorIndex = 3
Case "UNE FOIS"
Rows(c.Row).Font.ColorIndex = 14
Case "DEUX FOIS"
Rows(c.Row).Font.ColorIndex = 10
Case "TROIS FOIS"
Rows(c.Row).Font.ColorIndex = 53
Case "VENDU !!!!!"
Rows(c.Row).Font.ColorIndex = 7
Case Else
Rows(c.Row).Font.ColorIndex = 1
End Select
Next c
End Sub
Salutations !Bonjour,
Comment puis mettre une couleur sur toutes les lignes ou se trouve un
mot en
colonne F et bien sur qu'il prenne une autre couleurs si autre mot et
ce
jusqu'à 8 mots différents.
Merci
Bonsoir,
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
Tu te mets aux macros ? :o)
@+
FxM
Bonsoir,
Tout vient à point à celui qui sait attendre, j'ai enfin réussi à faire
le select case, sauf que moi je veux que s'il n'y a rien il ne color pas
l'intérieur. En plus qd je fais un changement cad que j'enlève les
lettres et que j'exécute de nouveau il ne change pas mes couleurs mises
avec la précedente exécution. C'est pas cool ! Une solution est-elle
envisageable.
Sub lignecouleur()
'
' lignecouleur Macro
' Macro enregistrée le 01/10/2006 par Véronique
'Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$hs50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
'Case Else
'Rows(c.Row).Interior.ColorIndex = 2
End Select
Next c
End Sub
"Stéphan DuQuébec" <StphanDuQubec@discussions.microsoft.com> a écrit dans
le message de news: D18B24EB-F2FA-4E8E-B8B1-BD2FB47BFE90@microsoft.com...
Juste parce que le foie gras m'intéresse.....
Moi, j'aime mieux travailler avec des Select Case.
Tu copies donc, de la même façon que Céline expliquait, ce qui suit:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("ICI LE NOM DE TA PLAGE NOMMÉE")
Select Case c
Case "LE FOIE"
Rows(c.Row).Font.ColorIndex = 5
Case "GRAS POUR"
Rows(c.Row).Font.ColorIndex = 46
Case "MON AMI"
Rows(c.Row).Font.ColorIndex = 29
Case "STÉPHAN DU QUÉBEC"
Rows(c.Row).Font.ColorIndex = 3
Case "UNE FOIS"
Rows(c.Row).Font.ColorIndex = 14
Case "DEUX FOIS"
Rows(c.Row).Font.ColorIndex = 10
Case "TROIS FOIS"
Rows(c.Row).Font.ColorIndex = 53
Case "VENDU !!!!!"
Rows(c.Row).Font.ColorIndex = 7
Case Else
Rows(c.Row).Font.ColorIndex = 1
End Select
Next c
End Sub
Salutations !
Bonjour,
Comment puis mettre une couleur sur toutes les lignes ou se trouve un
mot en
colonne F et bien sur qu'il prenne une autre couleurs si autre mot et
ce
jusqu'à 8 mots différents.
Merci
Bonsoir,
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
Tu te mets aux macros ? :o)
@+
FxMBonsoir,
Tout vient à point à celui qui sait attendre, j'ai enfin réussi à faire
le select case, sauf que moi je veux que s'il n'y a rien il ne color pas
l'intérieur. En plus qd je fais un changement cad que j'enlève les
lettres et que j'exécute de nouveau il ne change pas mes couleurs mises
avec la précedente exécution. C'est pas cool ! Une solution est-elle
envisageable.
Sub lignecouleur()
'
' lignecouleur Macro
' Macro enregistrée le 01/10/2006 par Véronique
'Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$hs50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
'Case Else
'Rows(c.Row).Interior.ColorIndex = 2
End Select
Next c
End Sub
"Stéphan DuQuébec" a écrit dans
le message de news:Juste parce que le foie gras m'intéresse.....
Moi, j'aime mieux travailler avec des Select Case.
Tu copies donc, de la même façon que Céline expliquait, ce qui suit:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("ICI LE NOM DE TA PLAGE NOMMÉE")
Select Case c
Case "LE FOIE"
Rows(c.Row).Font.ColorIndex = 5
Case "GRAS POUR"
Rows(c.Row).Font.ColorIndex = 46
Case "MON AMI"
Rows(c.Row).Font.ColorIndex = 29
Case "STÉPHAN DU QUÉBEC"
Rows(c.Row).Font.ColorIndex = 3
Case "UNE FOIS"
Rows(c.Row).Font.ColorIndex = 14
Case "DEUX FOIS"
Rows(c.Row).Font.ColorIndex = 10
Case "TROIS FOIS"
Rows(c.Row).Font.ColorIndex = 53
Case "VENDU !!!!!"
Rows(c.Row).Font.ColorIndex = 7
Case Else
Rows(c.Row).Font.ColorIndex = 1
End Select
Next c
End Sub
Salutations !Bonjour,
Comment puis mettre une couleur sur toutes les lignes ou se trouve un
mot en
colonne F et bien sur qu'il prenne une autre couleurs si autre mot et
ce
jusqu'à 8 mots différents.
Merci
Bonsoir,
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
Tu te mets aux macros ? :o)
@+
FxMBonsoir,
Tout vient à point à celui qui sait attendre, j'ai enfin réussi à faire
le select case, sauf que moi je veux que s'il n'y a rien il ne color pas
l'intérieur. En plus qd je fais un changement cad que j'enlève les
lettres et que j'exécute de nouveau il ne change pas mes couleurs mises
avec la précedente exécution. C'est pas cool ! Une solution est-elle
envisageable.
Sub lignecouleur()
'
' lignecouleur Macro
' Macro enregistrée le 01/10/2006 par Véronique
'Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$hs50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
'Case Else
'Rows(c.Row).Interior.ColorIndex = 2
End Select
Next c
End Sub
"Stéphan DuQuébec" a écrit dans
le message de news:Juste parce que le foie gras m'intéresse.....
Moi, j'aime mieux travailler avec des Select Case.
Tu copies donc, de la même façon que Céline expliquait, ce qui suit:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("ICI LE NOM DE TA PLAGE NOMMÉE")
Select Case c
Case "LE FOIE"
Rows(c.Row).Font.ColorIndex = 5
Case "GRAS POUR"
Rows(c.Row).Font.ColorIndex = 46
Case "MON AMI"
Rows(c.Row).Font.ColorIndex = 29
Case "STÉPHAN DU QUÉBEC"
Rows(c.Row).Font.ColorIndex = 3
Case "UNE FOIS"
Rows(c.Row).Font.ColorIndex = 14
Case "DEUX FOIS"
Rows(c.Row).Font.ColorIndex = 10
Case "TROIS FOIS"
Rows(c.Row).Font.ColorIndex = 53
Case "VENDU !!!!!"
Rows(c.Row).Font.ColorIndex = 7
Case Else
Rows(c.Row).Font.ColorIndex = 1
End Select
Next c
End Sub
Salutations !Bonjour,
Comment puis mettre une couleur sur toutes les lignes ou se trouve un
mot en
colonne F et bien sur qu'il prenne une autre couleurs si autre mot et
ce
jusqu'à 8 mots différents.
Merci
Bonsoir,
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
Tu te mets aux macros ? :o)
@+
FxM
Bonsoir,
Tout vient à point à celui qui sait attendre, j'ai enfin réussi à faire
le select case, sauf que moi je veux que s'il n'y a rien il ne color pas
l'intérieur. En plus qd je fais un changement cad que j'enlève les
lettres et que j'exécute de nouveau il ne change pas mes couleurs mises
avec la précedente exécution. C'est pas cool ! Une solution est-elle
envisageable.
Sub lignecouleur()
'
' lignecouleur Macro
' Macro enregistrée le 01/10/2006 par Véronique
'Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$hs50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
'Case Else
'Rows(c.Row).Interior.ColorIndex = 2
End Select
Next c
End Sub
"Stéphan DuQuébec" <StphanDuQubec@discussions.microsoft.com> a écrit dans
le message de news: D18B24EB-F2FA-4E8E-B8B1-BD2FB47BFE90@microsoft.com...
Juste parce que le foie gras m'intéresse.....
Moi, j'aime mieux travailler avec des Select Case.
Tu copies donc, de la même façon que Céline expliquait, ce qui suit:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("ICI LE NOM DE TA PLAGE NOMMÉE")
Select Case c
Case "LE FOIE"
Rows(c.Row).Font.ColorIndex = 5
Case "GRAS POUR"
Rows(c.Row).Font.ColorIndex = 46
Case "MON AMI"
Rows(c.Row).Font.ColorIndex = 29
Case "STÉPHAN DU QUÉBEC"
Rows(c.Row).Font.ColorIndex = 3
Case "UNE FOIS"
Rows(c.Row).Font.ColorIndex = 14
Case "DEUX FOIS"
Rows(c.Row).Font.ColorIndex = 10
Case "TROIS FOIS"
Rows(c.Row).Font.ColorIndex = 53
Case "VENDU !!!!!"
Rows(c.Row).Font.ColorIndex = 7
Case Else
Rows(c.Row).Font.ColorIndex = 1
End Select
Next c
End Sub
Salutations !
Bonjour,
Comment puis mettre une couleur sur toutes les lignes ou se trouve un
mot en
colonne F et bien sur qu'il prenne une autre couleurs si autre mot et
ce
jusqu'à 8 mots différents.
Merci
Bonsoir,
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
Tu te mets aux macros ? :o)
@+
FxMBonsoir,
Tout vient à point à celui qui sait attendre, j'ai enfin réussi à faire
le select case, sauf que moi je veux que s'il n'y a rien il ne color pas
l'intérieur. En plus qd je fais un changement cad que j'enlève les
lettres et que j'exécute de nouveau il ne change pas mes couleurs mises
avec la précedente exécution. C'est pas cool ! Une solution est-elle
envisageable.
Sub lignecouleur()
'
' lignecouleur Macro
' Macro enregistrée le 01/10/2006 par Véronique
'Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$hs50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
'Case Else
'Rows(c.Row).Interior.ColorIndex = 2
End Select
Next c
End Sub
"Stéphan DuQuébec" a écrit dans
le message de news:Juste parce que le foie gras m'intéresse.....
Moi, j'aime mieux travailler avec des Select Case.
Tu copies donc, de la même façon que Céline expliquait, ce qui suit:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("ICI LE NOM DE TA PLAGE NOMMÉE")
Select Case c
Case "LE FOIE"
Rows(c.Row).Font.ColorIndex = 5
Case "GRAS POUR"
Rows(c.Row).Font.ColorIndex = 46
Case "MON AMI"
Rows(c.Row).Font.ColorIndex = 29
Case "STÉPHAN DU QUÉBEC"
Rows(c.Row).Font.ColorIndex = 3
Case "UNE FOIS"
Rows(c.Row).Font.ColorIndex = 14
Case "DEUX FOIS"
Rows(c.Row).Font.ColorIndex = 10
Case "TROIS FOIS"
Rows(c.Row).Font.ColorIndex = 53
Case "VENDU !!!!!"
Rows(c.Row).Font.ColorIndex = 7
Case Else
Rows(c.Row).Font.ColorIndex = 1
End Select
Next c
End Sub
Salutations !Bonjour,
Comment puis mettre une couleur sur toutes les lignes ou se trouve un
mot en
colonne F et bien sur qu'il prenne une autre couleurs si autre mot et
ce
jusqu'à 8 mots différents.
Merci
Bonjour,
Et pourquoi maintenant il ne m'éxécute plus rien ?
Merci de vos connaissances
"FxM" a écrit dans le message de news:
u$Bonsoir,
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
Tu te mets aux macros ? :o)
@+
FxMBonsoir,
Tout vient à point à celui qui sait attendre, j'ai enfin réussi à faire
le select case, sauf que moi je veux que s'il n'y a rien il ne color pas
l'intérieur. En plus qd je fais un changement cad que j'enlève les
lettres et que j'exécute de nouveau il ne change pas mes couleurs mises
avec la précedente exécution. C'est pas cool ! Une solution est-elle
envisageable.
Sub lignecouleur()
'
' lignecouleur Macro
' Macro enregistrée le 01/10/2006 par Véronique
'Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$hs50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
'Case Else
'Rows(c.Row).Interior.ColorIndex = 2
End Select
Next c
End Sub
"Stéphan DuQuébec" a écrit dans
le message de news:Juste parce que le foie gras m'intéresse.....
Moi, j'aime mieux travailler avec des Select Case.
Tu copies donc, de la même façon que Céline expliquait, ce qui suit:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("ICI LE NOM DE TA PLAGE NOMMÉE")
Select Case c
Case "LE FOIE"
Rows(c.Row).Font.ColorIndex = 5
Case "GRAS POUR"
Rows(c.Row).Font.ColorIndex = 46
Case "MON AMI"
Rows(c.Row).Font.ColorIndex = 29
Case "STÉPHAN DU QUÉBEC"
Rows(c.Row).Font.ColorIndex = 3
Case "UNE FOIS"
Rows(c.Row).Font.ColorIndex = 14
Case "DEUX FOIS"
Rows(c.Row).Font.ColorIndex = 10
Case "TROIS FOIS"
Rows(c.Row).Font.ColorIndex = 53
Case "VENDU !!!!!"
Rows(c.Row).Font.ColorIndex = 7
Case Else
Rows(c.Row).Font.ColorIndex = 1
End Select
Next c
End Sub
Salutations !Bonjour,
Comment puis mettre une couleur sur toutes les lignes ou se trouve un
mot en
colonne F et bien sur qu'il prenne une autre couleurs si autre mot et
ce
jusqu'à 8 mots différents.
Merci
Bonjour,
Et pourquoi maintenant il ne m'éxécute plus rien ?
Merci de vos connaissances
"FxM" <nullos@greuchmeu.ici> a écrit dans le message de news:
u$q6IqY5GHA.1924@TK2MSFTNGP05.phx.gbl...
Bonsoir,
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
Tu te mets aux macros ? :o)
@+
FxM
Bonsoir,
Tout vient à point à celui qui sait attendre, j'ai enfin réussi à faire
le select case, sauf que moi je veux que s'il n'y a rien il ne color pas
l'intérieur. En plus qd je fais un changement cad que j'enlève les
lettres et que j'exécute de nouveau il ne change pas mes couleurs mises
avec la précedente exécution. C'est pas cool ! Une solution est-elle
envisageable.
Sub lignecouleur()
'
' lignecouleur Macro
' Macro enregistrée le 01/10/2006 par Véronique
'Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$hs50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
'Case Else
'Rows(c.Row).Interior.ColorIndex = 2
End Select
Next c
End Sub
"Stéphan DuQuébec" <StphanDuQubec@discussions.microsoft.com> a écrit dans
le message de news: D18B24EB-F2FA-4E8E-B8B1-BD2FB47BFE90@microsoft.com...
Juste parce que le foie gras m'intéresse.....
Moi, j'aime mieux travailler avec des Select Case.
Tu copies donc, de la même façon que Céline expliquait, ce qui suit:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("ICI LE NOM DE TA PLAGE NOMMÉE")
Select Case c
Case "LE FOIE"
Rows(c.Row).Font.ColorIndex = 5
Case "GRAS POUR"
Rows(c.Row).Font.ColorIndex = 46
Case "MON AMI"
Rows(c.Row).Font.ColorIndex = 29
Case "STÉPHAN DU QUÉBEC"
Rows(c.Row).Font.ColorIndex = 3
Case "UNE FOIS"
Rows(c.Row).Font.ColorIndex = 14
Case "DEUX FOIS"
Rows(c.Row).Font.ColorIndex = 10
Case "TROIS FOIS"
Rows(c.Row).Font.ColorIndex = 53
Case "VENDU !!!!!"
Rows(c.Row).Font.ColorIndex = 7
Case Else
Rows(c.Row).Font.ColorIndex = 1
End Select
Next c
End Sub
Salutations !
Bonjour,
Comment puis mettre une couleur sur toutes les lignes ou se trouve un
mot en
colonne F et bien sur qu'il prenne une autre couleurs si autre mot et
ce
jusqu'à 8 mots différents.
Merci
Bonjour,
Et pourquoi maintenant il ne m'éxécute plus rien ?
Merci de vos connaissances
"FxM" a écrit dans le message de news:
u$Bonsoir,
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
Tu te mets aux macros ? :o)
@+
FxMBonsoir,
Tout vient à point à celui qui sait attendre, j'ai enfin réussi à faire
le select case, sauf que moi je veux que s'il n'y a rien il ne color pas
l'intérieur. En plus qd je fais un changement cad que j'enlève les
lettres et que j'exécute de nouveau il ne change pas mes couleurs mises
avec la précedente exécution. C'est pas cool ! Une solution est-elle
envisageable.
Sub lignecouleur()
'
' lignecouleur Macro
' Macro enregistrée le 01/10/2006 par Véronique
'Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$hs50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
'Case Else
'Rows(c.Row).Interior.ColorIndex = 2
End Select
Next c
End Sub
"Stéphan DuQuébec" a écrit dans
le message de news:Juste parce que le foie gras m'intéresse.....
Moi, j'aime mieux travailler avec des Select Case.
Tu copies donc, de la même façon que Céline expliquait, ce qui suit:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("ICI LE NOM DE TA PLAGE NOMMÉE")
Select Case c
Case "LE FOIE"
Rows(c.Row).Font.ColorIndex = 5
Case "GRAS POUR"
Rows(c.Row).Font.ColorIndex = 46
Case "MON AMI"
Rows(c.Row).Font.ColorIndex = 29
Case "STÉPHAN DU QUÉBEC"
Rows(c.Row).Font.ColorIndex = 3
Case "UNE FOIS"
Rows(c.Row).Font.ColorIndex = 14
Case "DEUX FOIS"
Rows(c.Row).Font.ColorIndex = 10
Case "TROIS FOIS"
Rows(c.Row).Font.ColorIndex = 53
Case "VENDU !!!!!"
Rows(c.Row).Font.ColorIndex = 7
Case Else
Rows(c.Row).Font.ColorIndex = 1
End Select
Next c
End Sub
Salutations !Bonjour,
Comment puis mettre une couleur sur toutes les lignes ou se trouve un
mot en
colonne F et bien sur qu'il prenne une autre couleurs si autre mot et
ce
jusqu'à 8 mots différents.
Merci
Bonjour,
Plusieurs causes possibles dont :
- non déclenchement de la macro. La macro peut se déclencher seule si le
code est dans le module de la feuille voulue et que la macro se nomme
Private Sub Worksheet_Change(ByVal Target As Range)
Placer une apostrophe dans une ligne revient à dire que ce qui suit dans
la ligne est un commentaire et donc ignoré.
- les lignes indiquées, à savoir
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
sont à placer en bas juste avec le "end select" (sans les guillemets)
- dans ton code il y a un petit s dans la plage de cellules h3 à hs50.
Es-tu sûre de ce s ??
- les cellules sont déjà de la bonne couleur et la macro peut (ce n'est
pas sûr) s'exécuter sans que tu ne voies rien.
- ...
Le code dans la feuille devrait être (non testé) :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$h50")
Select Case c
Case "CN":Rows(c.Row).Interior.ColorIndex = 35
Case "PO":Rows(c.Row).Interior.ColorIndex = 39
Case "CA":Rows(c.Row).Interior.ColorIndex = 38
Case "CO":Rows(c.Row).Interior.ColorIndex = 34
Case "PI":Rows(c.Row).Interior.ColorIndex = 40
Case "CR":Rows(c.Row).Interior.ColorIndex = 37
Case "D":Rows(c.Row).Interior.ColorIndex = 36
Case "OI":Rows(c.Row).Interior.ColorIndex = 4
Case Else:Rows(c.Row).Interior.ColorIndex = xlnone
End Select
Next c
End Sub
Voilà, voilà
@+
FxMBonjour,
Et pourquoi maintenant il ne m'éxécute plus rien ?
Merci de vos connaissances
"FxM" a écrit dans le message de news:
u$Bonsoir,
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
Tu te mets aux macros ? :o)
@+
FxMBonsoir,
Tout vient à point à celui qui sait attendre, j'ai enfin réussi à faire
le select case, sauf que moi je veux que s'il n'y a rien il ne color
pas l'intérieur. En plus qd je fais un changement cad que j'enlève les
lettres et que j'exécute de nouveau il ne change pas mes couleurs mises
avec la précedente exécution. C'est pas cool ! Une solution est-elle
envisageable.
Sub lignecouleur()
'
' lignecouleur Macro
' Macro enregistrée le 01/10/2006 par Véronique
'Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$hs50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
'Case Else
'Rows(c.Row).Interior.ColorIndex = 2
End Select
Next c
End Sub
"Stéphan DuQuébec" a écrit
dans le message de news:Juste parce que le foie gras m'intéresse.....
Moi, j'aime mieux travailler avec des Select Case.
Tu copies donc, de la même façon que Céline expliquait, ce qui suit:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("ICI LE NOM DE TA PLAGE NOMMÉE")
Select Case c
Case "LE FOIE"
Rows(c.Row).Font.ColorIndex = 5
Case "GRAS POUR"
Rows(c.Row).Font.ColorIndex = 46
Case "MON AMI"
Rows(c.Row).Font.ColorIndex = 29
Case "STÉPHAN DU QUÉBEC"
Rows(c.Row).Font.ColorIndex = 3
Case "UNE FOIS"
Rows(c.Row).Font.ColorIndex = 14
Case "DEUX FOIS"
Rows(c.Row).Font.ColorIndex = 10
Case "TROIS FOIS"
Rows(c.Row).Font.ColorIndex = 53
Case "VENDU !!!!!"
Rows(c.Row).Font.ColorIndex = 7
Case Else
Rows(c.Row).Font.ColorIndex = 1
End Select
Next c
End Sub
Salutations !Bonjour,
Comment puis mettre une couleur sur toutes les lignes ou se trouve un
mot en
colonne F et bien sur qu'il prenne une autre couleurs si autre mot et
ce
jusqu'à 8 mots différents.
Merci
Bonjour,
Plusieurs causes possibles dont :
- non déclenchement de la macro. La macro peut se déclencher seule si le
code est dans le module de la feuille voulue et que la macro se nomme
Private Sub Worksheet_Change(ByVal Target As Range)
Placer une apostrophe dans une ligne revient à dire que ce qui suit dans
la ligne est un commentaire et donc ignoré.
- les lignes indiquées, à savoir
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
sont à placer en bas juste avec le "end select" (sans les guillemets)
- dans ton code il y a un petit s dans la plage de cellules h3 à hs50.
Es-tu sûre de ce s ??
- les cellules sont déjà de la bonne couleur et la macro peut (ce n'est
pas sûr) s'exécuter sans que tu ne voies rien.
- ...
Le code dans la feuille devrait être (non testé) :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$h50")
Select Case c
Case "CN":Rows(c.Row).Interior.ColorIndex = 35
Case "PO":Rows(c.Row).Interior.ColorIndex = 39
Case "CA":Rows(c.Row).Interior.ColorIndex = 38
Case "CO":Rows(c.Row).Interior.ColorIndex = 34
Case "PI":Rows(c.Row).Interior.ColorIndex = 40
Case "CR":Rows(c.Row).Interior.ColorIndex = 37
Case "D":Rows(c.Row).Interior.ColorIndex = 36
Case "OI":Rows(c.Row).Interior.ColorIndex = 4
Case Else:Rows(c.Row).Interior.ColorIndex = xlnone
End Select
Next c
End Sub
Voilà, voilà
@+
FxM
Bonjour,
Et pourquoi maintenant il ne m'éxécute plus rien ?
Merci de vos connaissances
"FxM" <nullos@greuchmeu.ici> a écrit dans le message de news:
u$q6IqY5GHA.1924@TK2MSFTNGP05.phx.gbl...
Bonsoir,
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
Tu te mets aux macros ? :o)
@+
FxM
Bonsoir,
Tout vient à point à celui qui sait attendre, j'ai enfin réussi à faire
le select case, sauf que moi je veux que s'il n'y a rien il ne color
pas l'intérieur. En plus qd je fais un changement cad que j'enlève les
lettres et que j'exécute de nouveau il ne change pas mes couleurs mises
avec la précedente exécution. C'est pas cool ! Une solution est-elle
envisageable.
Sub lignecouleur()
'
' lignecouleur Macro
' Macro enregistrée le 01/10/2006 par Véronique
'Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$hs50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
'Case Else
'Rows(c.Row).Interior.ColorIndex = 2
End Select
Next c
End Sub
"Stéphan DuQuébec" <StphanDuQubec@discussions.microsoft.com> a écrit
dans le message de news:
D18B24EB-F2FA-4E8E-B8B1-BD2FB47BFE90@microsoft.com...
Juste parce que le foie gras m'intéresse.....
Moi, j'aime mieux travailler avec des Select Case.
Tu copies donc, de la même façon que Céline expliquait, ce qui suit:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("ICI LE NOM DE TA PLAGE NOMMÉE")
Select Case c
Case "LE FOIE"
Rows(c.Row).Font.ColorIndex = 5
Case "GRAS POUR"
Rows(c.Row).Font.ColorIndex = 46
Case "MON AMI"
Rows(c.Row).Font.ColorIndex = 29
Case "STÉPHAN DU QUÉBEC"
Rows(c.Row).Font.ColorIndex = 3
Case "UNE FOIS"
Rows(c.Row).Font.ColorIndex = 14
Case "DEUX FOIS"
Rows(c.Row).Font.ColorIndex = 10
Case "TROIS FOIS"
Rows(c.Row).Font.ColorIndex = 53
Case "VENDU !!!!!"
Rows(c.Row).Font.ColorIndex = 7
Case Else
Rows(c.Row).Font.ColorIndex = 1
End Select
Next c
End Sub
Salutations !
Bonjour,
Comment puis mettre une couleur sur toutes les lignes ou se trouve un
mot en
colonne F et bien sur qu'il prenne une autre couleurs si autre mot et
ce
jusqu'à 8 mots différents.
Merci
Bonjour,
Plusieurs causes possibles dont :
- non déclenchement de la macro. La macro peut se déclencher seule si le
code est dans le module de la feuille voulue et que la macro se nomme
Private Sub Worksheet_Change(ByVal Target As Range)
Placer une apostrophe dans une ligne revient à dire que ce qui suit dans
la ligne est un commentaire et donc ignoré.
- les lignes indiquées, à savoir
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
sont à placer en bas juste avec le "end select" (sans les guillemets)
- dans ton code il y a un petit s dans la plage de cellules h3 à hs50.
Es-tu sûre de ce s ??
- les cellules sont déjà de la bonne couleur et la macro peut (ce n'est
pas sûr) s'exécuter sans que tu ne voies rien.
- ...
Le code dans la feuille devrait être (non testé) :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$h50")
Select Case c
Case "CN":Rows(c.Row).Interior.ColorIndex = 35
Case "PO":Rows(c.Row).Interior.ColorIndex = 39
Case "CA":Rows(c.Row).Interior.ColorIndex = 38
Case "CO":Rows(c.Row).Interior.ColorIndex = 34
Case "PI":Rows(c.Row).Interior.ColorIndex = 40
Case "CR":Rows(c.Row).Interior.ColorIndex = 37
Case "D":Rows(c.Row).Interior.ColorIndex = 36
Case "OI":Rows(c.Row).Interior.ColorIndex = 4
Case Else:Rows(c.Row).Interior.ColorIndex = xlnone
End Select
Next c
End Sub
Voilà, voilà
@+
FxMBonjour,
Et pourquoi maintenant il ne m'éxécute plus rien ?
Merci de vos connaissances
"FxM" a écrit dans le message de news:
u$Bonsoir,
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
Tu te mets aux macros ? :o)
@+
FxMBonsoir,
Tout vient à point à celui qui sait attendre, j'ai enfin réussi à faire
le select case, sauf que moi je veux que s'il n'y a rien il ne color
pas l'intérieur. En plus qd je fais un changement cad que j'enlève les
lettres et que j'exécute de nouveau il ne change pas mes couleurs mises
avec la précedente exécution. C'est pas cool ! Une solution est-elle
envisageable.
Sub lignecouleur()
'
' lignecouleur Macro
' Macro enregistrée le 01/10/2006 par Véronique
'Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$hs50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
'Case Else
'Rows(c.Row).Interior.ColorIndex = 2
End Select
Next c
End Sub
"Stéphan DuQuébec" a écrit
dans le message de news:Juste parce que le foie gras m'intéresse.....
Moi, j'aime mieux travailler avec des Select Case.
Tu copies donc, de la même façon que Céline expliquait, ce qui suit:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("ICI LE NOM DE TA PLAGE NOMMÉE")
Select Case c
Case "LE FOIE"
Rows(c.Row).Font.ColorIndex = 5
Case "GRAS POUR"
Rows(c.Row).Font.ColorIndex = 46
Case "MON AMI"
Rows(c.Row).Font.ColorIndex = 29
Case "STÉPHAN DU QUÉBEC"
Rows(c.Row).Font.ColorIndex = 3
Case "UNE FOIS"
Rows(c.Row).Font.ColorIndex = 14
Case "DEUX FOIS"
Rows(c.Row).Font.ColorIndex = 10
Case "TROIS FOIS"
Rows(c.Row).Font.ColorIndex = 53
Case "VENDU !!!!!"
Rows(c.Row).Font.ColorIndex = 7
Case Else
Rows(c.Row).Font.ColorIndex = 1
End Select
Next c
End Sub
Salutations !Bonjour,
Comment puis mettre une couleur sur toutes les lignes ou se trouve un
mot en
colonne F et bien sur qu'il prenne une autre couleurs si autre mot et
ce
jusqu'à 8 mots différents.
Merci
Re, je l'ai mise avec ' car il bloquait, ce qu'il me refait maintenant.
J'ai du chemin à faire !!
Sub lignecouleur() Il bloque à cette ligne là il me dit End Sub attendu
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$h$50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
Case Else
Rows(c.Row).Interior.ColorIndex = xlNone
End Select
Next c
End Sub
"FxM" a écrit dans le message de news:Bonjour,
Plusieurs causes possibles dont :
- non déclenchement de la macro. La macro peut se déclencher seule si le
code est dans le module de la feuille voulue et que la macro se nomme
Private Sub Worksheet_Change(ByVal Target As Range)
Placer une apostrophe dans une ligne revient à dire que ce qui suit dans
la ligne est un commentaire et donc ignoré.
- les lignes indiquées, à savoir
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
sont à placer en bas juste avec le "end select" (sans les guillemets)
- dans ton code il y a un petit s dans la plage de cellules h3 à hs50.
Es-tu sûre de ce s ??
- les cellules sont déjà de la bonne couleur et la macro peut (ce n'est
pas sûr) s'exécuter sans que tu ne voies rien.
- ...
Le code dans la feuille devrait être (non testé) :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$h50")
Select Case c
Case "CN":Rows(c.Row).Interior.ColorIndex = 35
Case "PO":Rows(c.Row).Interior.ColorIndex = 39
Case "CA":Rows(c.Row).Interior.ColorIndex = 38
Case "CO":Rows(c.Row).Interior.ColorIndex = 34
Case "PI":Rows(c.Row).Interior.ColorIndex = 40
Case "CR":Rows(c.Row).Interior.ColorIndex = 37
Case "D":Rows(c.Row).Interior.ColorIndex = 36
Case "OI":Rows(c.Row).Interior.ColorIndex = 4
Case Else:Rows(c.Row).Interior.ColorIndex = xlnone
End Select
Next c
End Sub
Voilà, voilà
@+
FxMBonjour,
Et pourquoi maintenant il ne m'éxécute plus rien ?
Merci de vos connaissances
"FxM" a écrit dans le message de news:
u$Bonsoir,
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
Tu te mets aux macros ? :o)
@+
FxMBonsoir,
Tout vient à point à celui qui sait attendre, j'ai enfin réussi à
faire le select case, sauf que moi je veux que s'il n'y a rien il ne
color pas l'intérieur. En plus qd je fais un changement cad que
j'enlève les lettres et que j'exécute de nouveau il ne change pas mes
couleurs mises avec la précedente exécution. C'est pas cool ! Une
solution est-elle envisageable.
Sub lignecouleur()
'
' lignecouleur Macro
' Macro enregistrée le 01/10/2006 par Véronique
'Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$hs50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
'Case Else
'Rows(c.Row).Interior.ColorIndex = 2
End Select
Next c
End Sub
"Stéphan DuQuébec" a écrit
dans le message de news:Juste parce que le foie gras m'intéresse.....
Moi, j'aime mieux travailler avec des Select Case.
Tu copies donc, de la même façon que Céline expliquait, ce qui suit:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("ICI LE NOM DE TA PLAGE NOMMÉE")
Select Case c
Case "LE FOIE"
Rows(c.Row).Font.ColorIndex = 5
Case "GRAS POUR"
Rows(c.Row).Font.ColorIndex = 46
Case "MON AMI"
Rows(c.Row).Font.ColorIndex = 29
Case "STÉPHAN DU QUÉBEC"
Rows(c.Row).Font.ColorIndex = 3
Case "UNE FOIS"
Rows(c.Row).Font.ColorIndex = 14
Case "DEUX FOIS"
Rows(c.Row).Font.ColorIndex = 10
Case "TROIS FOIS"
Rows(c.Row).Font.ColorIndex = 53
Case "VENDU !!!!!"
Rows(c.Row).Font.ColorIndex = 7
Case Else
Rows(c.Row).Font.ColorIndex = 1
End Select
Next c
End Sub
Salutations !Bonjour,
Comment puis mettre une couleur sur toutes les lignes ou se trouve
un mot en
colonne F et bien sur qu'il prenne une autre couleurs si autre mot
et ce
jusqu'à 8 mots différents.
Merci
Re, je l'ai mise avec ' car il bloquait, ce qu'il me refait maintenant.
J'ai du chemin à faire !!
Sub lignecouleur() Il bloque à cette ligne là il me dit End Sub attendu
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$h$50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
Case Else
Rows(c.Row).Interior.ColorIndex = xlNone
End Select
Next c
End Sub
"FxM" <nullos@greuchmeu.ici> a écrit dans le message de news:
O6CvVUj5GHA.4604@TK2MSFTNGP03.phx.gbl...
Bonjour,
Plusieurs causes possibles dont :
- non déclenchement de la macro. La macro peut se déclencher seule si le
code est dans le module de la feuille voulue et que la macro se nomme
Private Sub Worksheet_Change(ByVal Target As Range)
Placer une apostrophe dans une ligne revient à dire que ce qui suit dans
la ligne est un commentaire et donc ignoré.
- les lignes indiquées, à savoir
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
sont à placer en bas juste avec le "end select" (sans les guillemets)
- dans ton code il y a un petit s dans la plage de cellules h3 à hs50.
Es-tu sûre de ce s ??
- les cellules sont déjà de la bonne couleur et la macro peut (ce n'est
pas sûr) s'exécuter sans que tu ne voies rien.
- ...
Le code dans la feuille devrait être (non testé) :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$h50")
Select Case c
Case "CN":Rows(c.Row).Interior.ColorIndex = 35
Case "PO":Rows(c.Row).Interior.ColorIndex = 39
Case "CA":Rows(c.Row).Interior.ColorIndex = 38
Case "CO":Rows(c.Row).Interior.ColorIndex = 34
Case "PI":Rows(c.Row).Interior.ColorIndex = 40
Case "CR":Rows(c.Row).Interior.ColorIndex = 37
Case "D":Rows(c.Row).Interior.ColorIndex = 36
Case "OI":Rows(c.Row).Interior.ColorIndex = 4
Case Else:Rows(c.Row).Interior.ColorIndex = xlnone
End Select
Next c
End Sub
Voilà, voilà
@+
FxM
Bonjour,
Et pourquoi maintenant il ne m'éxécute plus rien ?
Merci de vos connaissances
"FxM" <nullos@greuchmeu.ici> a écrit dans le message de news:
u$q6IqY5GHA.1924@TK2MSFTNGP05.phx.gbl...
Bonsoir,
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
Tu te mets aux macros ? :o)
@+
FxM
Bonsoir,
Tout vient à point à celui qui sait attendre, j'ai enfin réussi à
faire le select case, sauf que moi je veux que s'il n'y a rien il ne
color pas l'intérieur. En plus qd je fais un changement cad que
j'enlève les lettres et que j'exécute de nouveau il ne change pas mes
couleurs mises avec la précedente exécution. C'est pas cool ! Une
solution est-elle envisageable.
Sub lignecouleur()
'
' lignecouleur Macro
' Macro enregistrée le 01/10/2006 par Véronique
'Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$hs50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
'Case Else
'Rows(c.Row).Interior.ColorIndex = 2
End Select
Next c
End Sub
"Stéphan DuQuébec" <StphanDuQubec@discussions.microsoft.com> a écrit
dans le message de news:
D18B24EB-F2FA-4E8E-B8B1-BD2FB47BFE90@microsoft.com...
Juste parce que le foie gras m'intéresse.....
Moi, j'aime mieux travailler avec des Select Case.
Tu copies donc, de la même façon que Céline expliquait, ce qui suit:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("ICI LE NOM DE TA PLAGE NOMMÉE")
Select Case c
Case "LE FOIE"
Rows(c.Row).Font.ColorIndex = 5
Case "GRAS POUR"
Rows(c.Row).Font.ColorIndex = 46
Case "MON AMI"
Rows(c.Row).Font.ColorIndex = 29
Case "STÉPHAN DU QUÉBEC"
Rows(c.Row).Font.ColorIndex = 3
Case "UNE FOIS"
Rows(c.Row).Font.ColorIndex = 14
Case "DEUX FOIS"
Rows(c.Row).Font.ColorIndex = 10
Case "TROIS FOIS"
Rows(c.Row).Font.ColorIndex = 53
Case "VENDU !!!!!"
Rows(c.Row).Font.ColorIndex = 7
Case Else
Rows(c.Row).Font.ColorIndex = 1
End Select
Next c
End Sub
Salutations !
Bonjour,
Comment puis mettre une couleur sur toutes les lignes ou se trouve
un mot en
colonne F et bien sur qu'il prenne une autre couleurs si autre mot
et ce
jusqu'à 8 mots différents.
Merci
Re, je l'ai mise avec ' car il bloquait, ce qu'il me refait maintenant.
J'ai du chemin à faire !!
Sub lignecouleur() Il bloque à cette ligne là il me dit End Sub attendu
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$h$50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
Case Else
Rows(c.Row).Interior.ColorIndex = xlNone
End Select
Next c
End Sub
"FxM" a écrit dans le message de news:Bonjour,
Plusieurs causes possibles dont :
- non déclenchement de la macro. La macro peut se déclencher seule si le
code est dans le module de la feuille voulue et que la macro se nomme
Private Sub Worksheet_Change(ByVal Target As Range)
Placer une apostrophe dans une ligne revient à dire que ce qui suit dans
la ligne est un commentaire et donc ignoré.
- les lignes indiquées, à savoir
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
sont à placer en bas juste avec le "end select" (sans les guillemets)
- dans ton code il y a un petit s dans la plage de cellules h3 à hs50.
Es-tu sûre de ce s ??
- les cellules sont déjà de la bonne couleur et la macro peut (ce n'est
pas sûr) s'exécuter sans que tu ne voies rien.
- ...
Le code dans la feuille devrait être (non testé) :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$h50")
Select Case c
Case "CN":Rows(c.Row).Interior.ColorIndex = 35
Case "PO":Rows(c.Row).Interior.ColorIndex = 39
Case "CA":Rows(c.Row).Interior.ColorIndex = 38
Case "CO":Rows(c.Row).Interior.ColorIndex = 34
Case "PI":Rows(c.Row).Interior.ColorIndex = 40
Case "CR":Rows(c.Row).Interior.ColorIndex = 37
Case "D":Rows(c.Row).Interior.ColorIndex = 36
Case "OI":Rows(c.Row).Interior.ColorIndex = 4
Case Else:Rows(c.Row).Interior.ColorIndex = xlnone
End Select
Next c
End Sub
Voilà, voilà
@+
FxMBonjour,
Et pourquoi maintenant il ne m'éxécute plus rien ?
Merci de vos connaissances
"FxM" a écrit dans le message de news:
u$Bonsoir,
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
Tu te mets aux macros ? :o)
@+
FxMBonsoir,
Tout vient à point à celui qui sait attendre, j'ai enfin réussi à
faire le select case, sauf que moi je veux que s'il n'y a rien il ne
color pas l'intérieur. En plus qd je fais un changement cad que
j'enlève les lettres et que j'exécute de nouveau il ne change pas mes
couleurs mises avec la précedente exécution. C'est pas cool ! Une
solution est-elle envisageable.
Sub lignecouleur()
'
' lignecouleur Macro
' Macro enregistrée le 01/10/2006 par Véronique
'Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$hs50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
'Case Else
'Rows(c.Row).Interior.ColorIndex = 2
End Select
Next c
End Sub
"Stéphan DuQuébec" a écrit
dans le message de news:Juste parce que le foie gras m'intéresse.....
Moi, j'aime mieux travailler avec des Select Case.
Tu copies donc, de la même façon que Céline expliquait, ce qui suit:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("ICI LE NOM DE TA PLAGE NOMMÉE")
Select Case c
Case "LE FOIE"
Rows(c.Row).Font.ColorIndex = 5
Case "GRAS POUR"
Rows(c.Row).Font.ColorIndex = 46
Case "MON AMI"
Rows(c.Row).Font.ColorIndex = 29
Case "STÉPHAN DU QUÉBEC"
Rows(c.Row).Font.ColorIndex = 3
Case "UNE FOIS"
Rows(c.Row).Font.ColorIndex = 14
Case "DEUX FOIS"
Rows(c.Row).Font.ColorIndex = 10
Case "TROIS FOIS"
Rows(c.Row).Font.ColorIndex = 53
Case "VENDU !!!!!"
Rows(c.Row).Font.ColorIndex = 7
Case Else
Rows(c.Row).Font.ColorIndex = 1
End Select
Next c
End Sub
Salutations !Bonjour,
Comment puis mettre une couleur sur toutes les lignes ou se trouve
un mot en
colonne F et bien sur qu'il prenne une autre couleurs si autre mot
et ce
jusqu'à 8 mots différents.
Merci
bonjour biancaV, digne soeur de AV, chrisV et PaulV....
FxM vient juste de partir en course (il cherche du jurançon pour aller
avec le foie gras)
tu as une ligne de trop....
si tu supprimes Sub lignecouleur() : ta macro s'exécutera chaque fois que
tu entreras, dans une de tes cellules de la plage H3:H50, CN, PO, CA,
etc.....
si tu supprimes Private Sub Worksheet_Change(ByVal Target As Range) : tu
as une zolie macro qui s'appelle "lignecouleur" et que tu vas pouvoir
exécuter autant de fois que tu voudras, soit via Outils/Macro/Macros (tu
vas la voir dans la boîte qui s'affiche, tu la sélectionnes et tu cliques
sur le bouton Exécuter), soit en créant un bouton sur ta feuille mais cela
fera l'objet d'une prochaine leçon de VBA
HTH
jps
PS. si tu veux que la macro "lignecouleur" s'exécute dans n'importe quelle
feuille de ton classeur, il faudra la mettre dans un module, ceci pouvant
faire l'objet d'une troisième leçon....
"BIANCAV" a écrit dans le message de news:Re, je l'ai mise avec ' car il bloquait, ce qu'il me refait maintenant.
J'ai du chemin à faire !!
Sub lignecouleur() Il bloque à cette ligne là il me dit End Sub attendu
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$h$50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
Case Else
Rows(c.Row).Interior.ColorIndex = xlNone
End Select
Next c
End Sub
"FxM" a écrit dans le message de news:Bonjour,
Plusieurs causes possibles dont :
- non déclenchement de la macro. La macro peut se déclencher seule si le
code est dans le module de la feuille voulue et que la macro se nomme
Private Sub Worksheet_Change(ByVal Target As Range)
Placer une apostrophe dans une ligne revient à dire que ce qui suit dans
la ligne est un commentaire et donc ignoré.
- les lignes indiquées, à savoir
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
sont à placer en bas juste avec le "end select" (sans les guillemets)
- dans ton code il y a un petit s dans la plage de cellules h3 à hs50.
Es-tu sûre de ce s ??
- les cellules sont déjà de la bonne couleur et la macro peut (ce n'est
pas sûr) s'exécuter sans que tu ne voies rien.
- ...
Le code dans la feuille devrait être (non testé) :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$h50")
Select Case c
Case "CN":Rows(c.Row).Interior.ColorIndex = 35
Case "PO":Rows(c.Row).Interior.ColorIndex = 39
Case "CA":Rows(c.Row).Interior.ColorIndex = 38
Case "CO":Rows(c.Row).Interior.ColorIndex = 34
Case "PI":Rows(c.Row).Interior.ColorIndex = 40
Case "CR":Rows(c.Row).Interior.ColorIndex = 37
Case "D":Rows(c.Row).Interior.ColorIndex = 36
Case "OI":Rows(c.Row).Interior.ColorIndex = 4
Case Else:Rows(c.Row).Interior.ColorIndex = xlnone
End Select
Next c
End Sub
Voilà, voilà
@+
FxMBonjour,
Et pourquoi maintenant il ne m'éxécute plus rien ?
Merci de vos connaissances
"FxM" a écrit dans le message de news:
u$Bonsoir,
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
Tu te mets aux macros ? :o)
@+
FxMBonsoir,
Tout vient à point à celui qui sait attendre, j'ai enfin réussi à
faire le select case, sauf que moi je veux que s'il n'y a rien il ne
color pas l'intérieur. En plus qd je fais un changement cad que
j'enlève les lettres et que j'exécute de nouveau il ne change pas mes
couleurs mises avec la précedente exécution. C'est pas cool ! Une
solution est-elle envisageable.
Sub lignecouleur()
'
' lignecouleur Macro
' Macro enregistrée le 01/10/2006 par Véronique
'Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$hs50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
'Case Else
'Rows(c.Row).Interior.ColorIndex = 2
End Select
Next c
End Sub
"Stéphan DuQuébec" a écrit
dans le message de news:Juste parce que le foie gras m'intéresse.....
Moi, j'aime mieux travailler avec des Select Case.
Tu copies donc, de la même façon que Céline expliquait, ce qui suit:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("ICI LE NOM DE TA PLAGE NOMMÉE")
Select Case c
Case "LE FOIE"
Rows(c.Row).Font.ColorIndex = 5
Case "GRAS POUR"
Rows(c.Row).Font.ColorIndex = 46
Case "MON AMI"
Rows(c.Row).Font.ColorIndex = 29
Case "STÉPHAN DU QUÉBEC"
Rows(c.Row).Font.ColorIndex = 3
Case "UNE FOIS"
Rows(c.Row).Font.ColorIndex = 14
Case "DEUX FOIS"
Rows(c.Row).Font.ColorIndex = 10
Case "TROIS FOIS"
Rows(c.Row).Font.ColorIndex = 53
Case "VENDU !!!!!"
Rows(c.Row).Font.ColorIndex = 7
Case Else
Rows(c.Row).Font.ColorIndex = 1
End Select
Next c
End Sub
Salutations !Bonjour,
Comment puis mettre une couleur sur toutes les lignes ou se trouve
un mot en
colonne F et bien sur qu'il prenne une autre couleurs si autre mot
et ce
jusqu'à 8 mots différents.
Merci
bonjour biancaV, digne soeur de AV, chrisV et PaulV....
FxM vient juste de partir en course (il cherche du jurançon pour aller
avec le foie gras)
tu as une ligne de trop....
si tu supprimes Sub lignecouleur() : ta macro s'exécutera chaque fois que
tu entreras, dans une de tes cellules de la plage H3:H50, CN, PO, CA,
etc.....
si tu supprimes Private Sub Worksheet_Change(ByVal Target As Range) : tu
as une zolie macro qui s'appelle "lignecouleur" et que tu vas pouvoir
exécuter autant de fois que tu voudras, soit via Outils/Macro/Macros (tu
vas la voir dans la boîte qui s'affiche, tu la sélectionnes et tu cliques
sur le bouton Exécuter), soit en créant un bouton sur ta feuille mais cela
fera l'objet d'une prochaine leçon de VBA
HTH
jps
PS. si tu veux que la macro "lignecouleur" s'exécute dans n'importe quelle
feuille de ton classeur, il faudra la mettre dans un module, ceci pouvant
faire l'objet d'une troisième leçon....
"BIANCAV" <nospam-biancav@hotmail.fr> a écrit dans le message de news:
eF15Bjj5GHA.1252@TK2MSFTNGP04.phx.gbl...
Re, je l'ai mise avec ' car il bloquait, ce qu'il me refait maintenant.
J'ai du chemin à faire !!
Sub lignecouleur() Il bloque à cette ligne là il me dit End Sub attendu
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$h$50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
Case Else
Rows(c.Row).Interior.ColorIndex = xlNone
End Select
Next c
End Sub
"FxM" <nullos@greuchmeu.ici> a écrit dans le message de news:
O6CvVUj5GHA.4604@TK2MSFTNGP03.phx.gbl...
Bonjour,
Plusieurs causes possibles dont :
- non déclenchement de la macro. La macro peut se déclencher seule si le
code est dans le module de la feuille voulue et que la macro se nomme
Private Sub Worksheet_Change(ByVal Target As Range)
Placer une apostrophe dans une ligne revient à dire que ce qui suit dans
la ligne est un commentaire et donc ignoré.
- les lignes indiquées, à savoir
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
sont à placer en bas juste avec le "end select" (sans les guillemets)
- dans ton code il y a un petit s dans la plage de cellules h3 à hs50.
Es-tu sûre de ce s ??
- les cellules sont déjà de la bonne couleur et la macro peut (ce n'est
pas sûr) s'exécuter sans que tu ne voies rien.
- ...
Le code dans la feuille devrait être (non testé) :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$h50")
Select Case c
Case "CN":Rows(c.Row).Interior.ColorIndex = 35
Case "PO":Rows(c.Row).Interior.ColorIndex = 39
Case "CA":Rows(c.Row).Interior.ColorIndex = 38
Case "CO":Rows(c.Row).Interior.ColorIndex = 34
Case "PI":Rows(c.Row).Interior.ColorIndex = 40
Case "CR":Rows(c.Row).Interior.ColorIndex = 37
Case "D":Rows(c.Row).Interior.ColorIndex = 36
Case "OI":Rows(c.Row).Interior.ColorIndex = 4
Case Else:Rows(c.Row).Interior.ColorIndex = xlnone
End Select
Next c
End Sub
Voilà, voilà
@+
FxM
Bonjour,
Et pourquoi maintenant il ne m'éxécute plus rien ?
Merci de vos connaissances
"FxM" <nullos@greuchmeu.ici> a écrit dans le message de news:
u$q6IqY5GHA.1924@TK2MSFTNGP05.phx.gbl...
Bonsoir,
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
Tu te mets aux macros ? :o)
@+
FxM
Bonsoir,
Tout vient à point à celui qui sait attendre, j'ai enfin réussi à
faire le select case, sauf que moi je veux que s'il n'y a rien il ne
color pas l'intérieur. En plus qd je fais un changement cad que
j'enlève les lettres et que j'exécute de nouveau il ne change pas mes
couleurs mises avec la précedente exécution. C'est pas cool ! Une
solution est-elle envisageable.
Sub lignecouleur()
'
' lignecouleur Macro
' Macro enregistrée le 01/10/2006 par Véronique
'Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$hs50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
'Case Else
'Rows(c.Row).Interior.ColorIndex = 2
End Select
Next c
End Sub
"Stéphan DuQuébec" <StphanDuQubec@discussions.microsoft.com> a écrit
dans le message de news:
D18B24EB-F2FA-4E8E-B8B1-BD2FB47BFE90@microsoft.com...
Juste parce que le foie gras m'intéresse.....
Moi, j'aime mieux travailler avec des Select Case.
Tu copies donc, de la même façon que Céline expliquait, ce qui suit:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("ICI LE NOM DE TA PLAGE NOMMÉE")
Select Case c
Case "LE FOIE"
Rows(c.Row).Font.ColorIndex = 5
Case "GRAS POUR"
Rows(c.Row).Font.ColorIndex = 46
Case "MON AMI"
Rows(c.Row).Font.ColorIndex = 29
Case "STÉPHAN DU QUÉBEC"
Rows(c.Row).Font.ColorIndex = 3
Case "UNE FOIS"
Rows(c.Row).Font.ColorIndex = 14
Case "DEUX FOIS"
Rows(c.Row).Font.ColorIndex = 10
Case "TROIS FOIS"
Rows(c.Row).Font.ColorIndex = 53
Case "VENDU !!!!!"
Rows(c.Row).Font.ColorIndex = 7
Case Else
Rows(c.Row).Font.ColorIndex = 1
End Select
Next c
End Sub
Salutations !
Bonjour,
Comment puis mettre une couleur sur toutes les lignes ou se trouve
un mot en
colonne F et bien sur qu'il prenne une autre couleurs si autre mot
et ce
jusqu'à 8 mots différents.
Merci
bonjour biancaV, digne soeur de AV, chrisV et PaulV....
FxM vient juste de partir en course (il cherche du jurançon pour aller
avec le foie gras)
tu as une ligne de trop....
si tu supprimes Sub lignecouleur() : ta macro s'exécutera chaque fois que
tu entreras, dans une de tes cellules de la plage H3:H50, CN, PO, CA,
etc.....
si tu supprimes Private Sub Worksheet_Change(ByVal Target As Range) : tu
as une zolie macro qui s'appelle "lignecouleur" et que tu vas pouvoir
exécuter autant de fois que tu voudras, soit via Outils/Macro/Macros (tu
vas la voir dans la boîte qui s'affiche, tu la sélectionnes et tu cliques
sur le bouton Exécuter), soit en créant un bouton sur ta feuille mais cela
fera l'objet d'une prochaine leçon de VBA
HTH
jps
PS. si tu veux que la macro "lignecouleur" s'exécute dans n'importe quelle
feuille de ton classeur, il faudra la mettre dans un module, ceci pouvant
faire l'objet d'une troisième leçon....
"BIANCAV" a écrit dans le message de news:Re, je l'ai mise avec ' car il bloquait, ce qu'il me refait maintenant.
J'ai du chemin à faire !!
Sub lignecouleur() Il bloque à cette ligne là il me dit End Sub attendu
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$h$50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
Case Else
Rows(c.Row).Interior.ColorIndex = xlNone
End Select
Next c
End Sub
"FxM" a écrit dans le message de news:Bonjour,
Plusieurs causes possibles dont :
- non déclenchement de la macro. La macro peut se déclencher seule si le
code est dans le module de la feuille voulue et que la macro se nomme
Private Sub Worksheet_Change(ByVal Target As Range)
Placer une apostrophe dans une ligne revient à dire que ce qui suit dans
la ligne est un commentaire et donc ignoré.
- les lignes indiquées, à savoir
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
sont à placer en bas juste avec le "end select" (sans les guillemets)
- dans ton code il y a un petit s dans la plage de cellules h3 à hs50.
Es-tu sûre de ce s ??
- les cellules sont déjà de la bonne couleur et la macro peut (ce n'est
pas sûr) s'exécuter sans que tu ne voies rien.
- ...
Le code dans la feuille devrait être (non testé) :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$h50")
Select Case c
Case "CN":Rows(c.Row).Interior.ColorIndex = 35
Case "PO":Rows(c.Row).Interior.ColorIndex = 39
Case "CA":Rows(c.Row).Interior.ColorIndex = 38
Case "CO":Rows(c.Row).Interior.ColorIndex = 34
Case "PI":Rows(c.Row).Interior.ColorIndex = 40
Case "CR":Rows(c.Row).Interior.ColorIndex = 37
Case "D":Rows(c.Row).Interior.ColorIndex = 36
Case "OI":Rows(c.Row).Interior.ColorIndex = 4
Case Else:Rows(c.Row).Interior.ColorIndex = xlnone
End Select
Next c
End Sub
Voilà, voilà
@+
FxMBonjour,
Et pourquoi maintenant il ne m'éxécute plus rien ?
Merci de vos connaissances
"FxM" a écrit dans le message de news:
u$Bonsoir,
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
Tu te mets aux macros ? :o)
@+
FxMBonsoir,
Tout vient à point à celui qui sait attendre, j'ai enfin réussi à
faire le select case, sauf que moi je veux que s'il n'y a rien il ne
color pas l'intérieur. En plus qd je fais un changement cad que
j'enlève les lettres et que j'exécute de nouveau il ne change pas mes
couleurs mises avec la précedente exécution. C'est pas cool ! Une
solution est-elle envisageable.
Sub lignecouleur()
'
' lignecouleur Macro
' Macro enregistrée le 01/10/2006 par Véronique
'Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$hs50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
'Case Else
'Rows(c.Row).Interior.ColorIndex = 2
End Select
Next c
End Sub
"Stéphan DuQuébec" a écrit
dans le message de news:Juste parce que le foie gras m'intéresse.....
Moi, j'aime mieux travailler avec des Select Case.
Tu copies donc, de la même façon que Céline expliquait, ce qui suit:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("ICI LE NOM DE TA PLAGE NOMMÉE")
Select Case c
Case "LE FOIE"
Rows(c.Row).Font.ColorIndex = 5
Case "GRAS POUR"
Rows(c.Row).Font.ColorIndex = 46
Case "MON AMI"
Rows(c.Row).Font.ColorIndex = 29
Case "STÉPHAN DU QUÉBEC"
Rows(c.Row).Font.ColorIndex = 3
Case "UNE FOIS"
Rows(c.Row).Font.ColorIndex = 14
Case "DEUX FOIS"
Rows(c.Row).Font.ColorIndex = 10
Case "TROIS FOIS"
Rows(c.Row).Font.ColorIndex = 53
Case "VENDU !!!!!"
Rows(c.Row).Font.ColorIndex = 7
Case Else
Rows(c.Row).Font.ColorIndex = 1
End Select
Next c
End Sub
Salutations !Bonjour,
Comment puis mettre une couleur sur toutes les lignes ou se trouve
un mot en
colonne F et bien sur qu'il prenne une autre couleurs si autre mot
et ce
jusqu'à 8 mots différents.
Merci
bonjour biancaV, digne soeur de AV, chrisV et PaulV....
FxM vient juste de partir en course (il cherche du jurançon pour aller avec
le foie gras)
tu as une ligne de trop....
si tu supprimes Sub lignecouleur() : ta macro s'exécutera chaque fois que tu
entreras, dans une de tes cellules de la plage H3:H50, CN, PO, CA, etc.....
si tu supprimes Private Sub Worksheet_Change(ByVal Target As Range) : tu as
une zolie macro qui s'appelle "lignecouleur" et que tu vas pouvoir exécuter
autant de fois que tu voudras, soit via Outils/Macro/Macros (tu vas la voir
dans la boîte qui s'affiche, tu la sélectionnes et tu cliques sur le bouton
Exécuter), soit en créant un bouton sur ta feuille mais cela fera l'objet
d'une prochaine leçon de VBA
HTH
jps
PS. si tu veux que la macro "lignecouleur" s'exécute dans n'importe quelle
feuille de ton classeur, il faudra la mettre dans un module, ceci pouvant
faire l'objet d'une troisième leçon....
"BIANCAV" a écrit dans le message de news:Re, je l'ai mise avec ' car il bloquait, ce qu'il me refait maintenant.
J'ai du chemin à faire !!
Sub lignecouleur() Il bloque à cette ligne là il me dit End Sub attendu
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$h$50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
Case Else
Rows(c.Row).Interior.ColorIndex = xlNone
End Select
Next c
End Sub
"FxM" a écrit dans le message de news:Bonjour,
Plusieurs causes possibles dont :
- non déclenchement de la macro. La macro peut se déclencher seule si le
code est dans le module de la feuille voulue et que la macro se nomme
Private Sub Worksheet_Change(ByVal Target As Range)
Placer une apostrophe dans une ligne revient à dire que ce qui suit dans
la ligne est un commentaire et donc ignoré.
- les lignes indiquées, à savoir
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
sont à placer en bas juste avec le "end select" (sans les guillemets)
- dans ton code il y a un petit s dans la plage de cellules h3 à hs50.
Es-tu sûre de ce s ??
- les cellules sont déjà de la bonne couleur et la macro peut (ce n'est
pas sûr) s'exécuter sans que tu ne voies rien.
- ...
Le code dans la feuille devrait être (non testé) :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$h50")
Select Case c
Case "CN":Rows(c.Row).Interior.ColorIndex = 35
Case "PO":Rows(c.Row).Interior.ColorIndex = 39
Case "CA":Rows(c.Row).Interior.ColorIndex = 38
Case "CO":Rows(c.Row).Interior.ColorIndex = 34
Case "PI":Rows(c.Row).Interior.ColorIndex = 40
Case "CR":Rows(c.Row).Interior.ColorIndex = 37
Case "D":Rows(c.Row).Interior.ColorIndex = 36
Case "OI":Rows(c.Row).Interior.ColorIndex = 4
Case Else:Rows(c.Row).Interior.ColorIndex = xlnone
End Select
Next c
End Sub
Voilà, voilà
@+
FxMBonjour,
Et pourquoi maintenant il ne m'éxécute plus rien ?
Merci de vos connaissances
"FxM" a écrit dans le message de news:
u$Bonsoir,
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
Tu te mets aux macros ? :o)
@+
FxMBonsoir,
Tout vient à point à celui qui sait attendre, j'ai enfin réussi à
faire le select case, sauf que moi je veux que s'il n'y a rien il ne
color pas l'intérieur. En plus qd je fais un changement cad que
j'enlève les lettres et que j'exécute de nouveau il ne change pas mes
couleurs mises avec la précedente exécution. C'est pas cool ! Une
solution est-elle envisageable.
Sub lignecouleur()
'
' lignecouleur Macro
' Macro enregistrée le 01/10/2006 par Véronique
'Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$hs50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
'Case Else
'Rows(c.Row).Interior.ColorIndex = 2
End Select
Next c
End Sub
"Stéphan DuQuébec" a écrit
dans le message de news:Juste parce que le foie gras m'intéresse.....
Moi, j'aime mieux travailler avec des Select Case.
Tu copies donc, de la même façon que Céline expliquait, ce qui suit:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("ICI LE NOM DE TA PLAGE NOMMÉE")
Select Case c
Case "LE FOIE"
Rows(c.Row).Font.ColorIndex = 5
Case "GRAS POUR"
Rows(c.Row).Font.ColorIndex = 46
Case "MON AMI"
Rows(c.Row).Font.ColorIndex = 29
Case "STÉPHAN DU QUÉBEC"
Rows(c.Row).Font.ColorIndex = 3
Case "UNE FOIS"
Rows(c.Row).Font.ColorIndex = 14
Case "DEUX FOIS"
Rows(c.Row).Font.ColorIndex = 10
Case "TROIS FOIS"
Rows(c.Row).Font.ColorIndex = 53
Case "VENDU !!!!!"
Rows(c.Row).Font.ColorIndex = 7
Case Else
Rows(c.Row).Font.ColorIndex = 1
End Select
Next c
End Sub
Salutations !Bonjour,
Comment puis mettre une couleur sur toutes les lignes ou se trouve
un mot en
colonne F et bien sur qu'il prenne une autre couleurs si autre mot
et ce
jusqu'à 8 mots différents.
Merci
bonjour biancaV, digne soeur de AV, chrisV et PaulV....
FxM vient juste de partir en course (il cherche du jurançon pour aller avec
le foie gras)
tu as une ligne de trop....
si tu supprimes Sub lignecouleur() : ta macro s'exécutera chaque fois que tu
entreras, dans une de tes cellules de la plage H3:H50, CN, PO, CA, etc.....
si tu supprimes Private Sub Worksheet_Change(ByVal Target As Range) : tu as
une zolie macro qui s'appelle "lignecouleur" et que tu vas pouvoir exécuter
autant de fois que tu voudras, soit via Outils/Macro/Macros (tu vas la voir
dans la boîte qui s'affiche, tu la sélectionnes et tu cliques sur le bouton
Exécuter), soit en créant un bouton sur ta feuille mais cela fera l'objet
d'une prochaine leçon de VBA
HTH
jps
PS. si tu veux que la macro "lignecouleur" s'exécute dans n'importe quelle
feuille de ton classeur, il faudra la mettre dans un module, ceci pouvant
faire l'objet d'une troisième leçon....
"BIANCAV" <nospam-biancav@hotmail.fr> a écrit dans le message de news:
eF15Bjj5GHA.1252@TK2MSFTNGP04.phx.gbl...
Re, je l'ai mise avec ' car il bloquait, ce qu'il me refait maintenant.
J'ai du chemin à faire !!
Sub lignecouleur() Il bloque à cette ligne là il me dit End Sub attendu
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$h$50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
Case Else
Rows(c.Row).Interior.ColorIndex = xlNone
End Select
Next c
End Sub
"FxM" <nullos@greuchmeu.ici> a écrit dans le message de news:
O6CvVUj5GHA.4604@TK2MSFTNGP03.phx.gbl...
Bonjour,
Plusieurs causes possibles dont :
- non déclenchement de la macro. La macro peut se déclencher seule si le
code est dans le module de la feuille voulue et que la macro se nomme
Private Sub Worksheet_Change(ByVal Target As Range)
Placer une apostrophe dans une ligne revient à dire que ce qui suit dans
la ligne est un commentaire et donc ignoré.
- les lignes indiquées, à savoir
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
sont à placer en bas juste avec le "end select" (sans les guillemets)
- dans ton code il y a un petit s dans la plage de cellules h3 à hs50.
Es-tu sûre de ce s ??
- les cellules sont déjà de la bonne couleur et la macro peut (ce n'est
pas sûr) s'exécuter sans que tu ne voies rien.
- ...
Le code dans la feuille devrait être (non testé) :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$h50")
Select Case c
Case "CN":Rows(c.Row).Interior.ColorIndex = 35
Case "PO":Rows(c.Row).Interior.ColorIndex = 39
Case "CA":Rows(c.Row).Interior.ColorIndex = 38
Case "CO":Rows(c.Row).Interior.ColorIndex = 34
Case "PI":Rows(c.Row).Interior.ColorIndex = 40
Case "CR":Rows(c.Row).Interior.ColorIndex = 37
Case "D":Rows(c.Row).Interior.ColorIndex = 36
Case "OI":Rows(c.Row).Interior.ColorIndex = 4
Case Else:Rows(c.Row).Interior.ColorIndex = xlnone
End Select
Next c
End Sub
Voilà, voilà
@+
FxM
Bonjour,
Et pourquoi maintenant il ne m'éxécute plus rien ?
Merci de vos connaissances
"FxM" <nullos@greuchmeu.ici> a écrit dans le message de news:
u$q6IqY5GHA.1924@TK2MSFTNGP05.phx.gbl...
Bonsoir,
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
Tu te mets aux macros ? :o)
@+
FxM
Bonsoir,
Tout vient à point à celui qui sait attendre, j'ai enfin réussi à
faire le select case, sauf que moi je veux que s'il n'y a rien il ne
color pas l'intérieur. En plus qd je fais un changement cad que
j'enlève les lettres et que j'exécute de nouveau il ne change pas mes
couleurs mises avec la précedente exécution. C'est pas cool ! Une
solution est-elle envisageable.
Sub lignecouleur()
'
' lignecouleur Macro
' Macro enregistrée le 01/10/2006 par Véronique
'Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$hs50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
'Case Else
'Rows(c.Row).Interior.ColorIndex = 2
End Select
Next c
End Sub
"Stéphan DuQuébec" <StphanDuQubec@discussions.microsoft.com> a écrit
dans le message de news:
D18B24EB-F2FA-4E8E-B8B1-BD2FB47BFE90@microsoft.com...
Juste parce que le foie gras m'intéresse.....
Moi, j'aime mieux travailler avec des Select Case.
Tu copies donc, de la même façon que Céline expliquait, ce qui suit:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("ICI LE NOM DE TA PLAGE NOMMÉE")
Select Case c
Case "LE FOIE"
Rows(c.Row).Font.ColorIndex = 5
Case "GRAS POUR"
Rows(c.Row).Font.ColorIndex = 46
Case "MON AMI"
Rows(c.Row).Font.ColorIndex = 29
Case "STÉPHAN DU QUÉBEC"
Rows(c.Row).Font.ColorIndex = 3
Case "UNE FOIS"
Rows(c.Row).Font.ColorIndex = 14
Case "DEUX FOIS"
Rows(c.Row).Font.ColorIndex = 10
Case "TROIS FOIS"
Rows(c.Row).Font.ColorIndex = 53
Case "VENDU !!!!!"
Rows(c.Row).Font.ColorIndex = 7
Case Else
Rows(c.Row).Font.ColorIndex = 1
End Select
Next c
End Sub
Salutations !
Bonjour,
Comment puis mettre une couleur sur toutes les lignes ou se trouve
un mot en
colonne F et bien sur qu'il prenne une autre couleurs si autre mot
et ce
jusqu'à 8 mots différents.
Merci
bonjour biancaV, digne soeur de AV, chrisV et PaulV....
FxM vient juste de partir en course (il cherche du jurançon pour aller avec
le foie gras)
tu as une ligne de trop....
si tu supprimes Sub lignecouleur() : ta macro s'exécutera chaque fois que tu
entreras, dans une de tes cellules de la plage H3:H50, CN, PO, CA, etc.....
si tu supprimes Private Sub Worksheet_Change(ByVal Target As Range) : tu as
une zolie macro qui s'appelle "lignecouleur" et que tu vas pouvoir exécuter
autant de fois que tu voudras, soit via Outils/Macro/Macros (tu vas la voir
dans la boîte qui s'affiche, tu la sélectionnes et tu cliques sur le bouton
Exécuter), soit en créant un bouton sur ta feuille mais cela fera l'objet
d'une prochaine leçon de VBA
HTH
jps
PS. si tu veux que la macro "lignecouleur" s'exécute dans n'importe quelle
feuille de ton classeur, il faudra la mettre dans un module, ceci pouvant
faire l'objet d'une troisième leçon....
"BIANCAV" a écrit dans le message de news:Re, je l'ai mise avec ' car il bloquait, ce qu'il me refait maintenant.
J'ai du chemin à faire !!
Sub lignecouleur() Il bloque à cette ligne là il me dit End Sub attendu
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$h$50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
Case Else
Rows(c.Row).Interior.ColorIndex = xlNone
End Select
Next c
End Sub
"FxM" a écrit dans le message de news:Bonjour,
Plusieurs causes possibles dont :
- non déclenchement de la macro. La macro peut se déclencher seule si le
code est dans le module de la feuille voulue et que la macro se nomme
Private Sub Worksheet_Change(ByVal Target As Range)
Placer une apostrophe dans une ligne revient à dire que ce qui suit dans
la ligne est un commentaire et donc ignoré.
- les lignes indiquées, à savoir
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
sont à placer en bas juste avec le "end select" (sans les guillemets)
- dans ton code il y a un petit s dans la plage de cellules h3 à hs50.
Es-tu sûre de ce s ??
- les cellules sont déjà de la bonne couleur et la macro peut (ce n'est
pas sûr) s'exécuter sans que tu ne voies rien.
- ...
Le code dans la feuille devrait être (non testé) :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$h50")
Select Case c
Case "CN":Rows(c.Row).Interior.ColorIndex = 35
Case "PO":Rows(c.Row).Interior.ColorIndex = 39
Case "CA":Rows(c.Row).Interior.ColorIndex = 38
Case "CO":Rows(c.Row).Interior.ColorIndex = 34
Case "PI":Rows(c.Row).Interior.ColorIndex = 40
Case "CR":Rows(c.Row).Interior.ColorIndex = 37
Case "D":Rows(c.Row).Interior.ColorIndex = 36
Case "OI":Rows(c.Row).Interior.ColorIndex = 4
Case Else:Rows(c.Row).Interior.ColorIndex = xlnone
End Select
Next c
End Sub
Voilà, voilà
@+
FxMBonjour,
Et pourquoi maintenant il ne m'éxécute plus rien ?
Merci de vos connaissances
"FxM" a écrit dans le message de news:
u$Bonsoir,
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
Tu te mets aux macros ? :o)
@+
FxMBonsoir,
Tout vient à point à celui qui sait attendre, j'ai enfin réussi à
faire le select case, sauf que moi je veux que s'il n'y a rien il ne
color pas l'intérieur. En plus qd je fais un changement cad que
j'enlève les lettres et que j'exécute de nouveau il ne change pas mes
couleurs mises avec la précedente exécution. C'est pas cool ! Une
solution est-elle envisageable.
Sub lignecouleur()
'
' lignecouleur Macro
' Macro enregistrée le 01/10/2006 par Véronique
'Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$hs50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
'Case Else
'Rows(c.Row).Interior.ColorIndex = 2
End Select
Next c
End Sub
"Stéphan DuQuébec" a écrit
dans le message de news:Juste parce que le foie gras m'intéresse.....
Moi, j'aime mieux travailler avec des Select Case.
Tu copies donc, de la même façon que Céline expliquait, ce qui suit:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("ICI LE NOM DE TA PLAGE NOMMÉE")
Select Case c
Case "LE FOIE"
Rows(c.Row).Font.ColorIndex = 5
Case "GRAS POUR"
Rows(c.Row).Font.ColorIndex = 46
Case "MON AMI"
Rows(c.Row).Font.ColorIndex = 29
Case "STÉPHAN DU QUÉBEC"
Rows(c.Row).Font.ColorIndex = 3
Case "UNE FOIS"
Rows(c.Row).Font.ColorIndex = 14
Case "DEUX FOIS"
Rows(c.Row).Font.ColorIndex = 10
Case "TROIS FOIS"
Rows(c.Row).Font.ColorIndex = 53
Case "VENDU !!!!!"
Rows(c.Row).Font.ColorIndex = 7
Case Else
Rows(c.Row).Font.ColorIndex = 1
End Select
Next c
End Sub
Salutations !Bonjour,
Comment puis mettre une couleur sur toutes les lignes ou se trouve
un mot en
colonne F et bien sur qu'il prenne une autre couleurs si autre mot
et ce
jusqu'à 8 mots différents.
Merci
Bonsoir,
Du jurancon ? Si seulement (moi qui n'en boit pas) !
En fait c'est plutôt un disque dur que je vais tenter de digérer ...
surtout s'il faut que je réinstalle à partir de zéro due to "bad cluster"
and "already committed" (arggh).
Ca va devoir attendre un peu car 2 déplacements demain et mercredi matin.
Bref, en attendant de solutionner, j'ai testé la macro qui semble
fonctionner chez moi (XL2002).
Lien -> http://cjoint.com/?kcwZyn8rIZ
Je recommande donc à Bianca d'insérer l'instruction stop là :
Private Sub Worksheet_Change(ByVal Target As Range)
stop '<<<<<----- ICI
Dim c
Cette instruction va permettre de vérifier si la macro est bien appelée
(en stoppant la macro et mettant la ligne en jaune).
Si oui, placer une apostrophe devant stop et presser F5 pour poursuivre la
macro.
Si pas appelée, vérifier le nom de la macro et la position (dans le module
de la feuille où se trouve H3:H50).
Détail qui a son importance ... Pour Excel, "CN" est différent de "cn", de
"Cn" et aussi de "cN", de "CN " ou " CN" et autres variations. Si tu veux
s'affranchir des majuscules, tu peux remplacer :
Select Case c
par
Select Case UCase(c)
Ucase mettant en majuscule ce qui est entre parenthèses.
@+
FxMbonjour biancaV, digne soeur de AV, chrisV et PaulV....
FxM vient juste de partir en course (il cherche du jurançon pour aller
avec le foie gras)
tu as une ligne de trop....
si tu supprimes Sub lignecouleur() : ta macro s'exécutera chaque fois que
tu entreras, dans une de tes cellules de la plage H3:H50, CN, PO, CA,
etc.....
si tu supprimes Private Sub Worksheet_Change(ByVal Target As Range) : tu
as une zolie macro qui s'appelle "lignecouleur" et que tu vas pouvoir
exécuter autant de fois que tu voudras, soit via Outils/Macro/Macros (tu
vas la voir dans la boîte qui s'affiche, tu la sélectionnes et tu cliques
sur le bouton Exécuter), soit en créant un bouton sur ta feuille mais
cela fera l'objet d'une prochaine leçon de VBA
HTH
jps
PS. si tu veux que la macro "lignecouleur" s'exécute dans n'importe
quelle feuille de ton classeur, il faudra la mettre dans un module, ceci
pouvant faire l'objet d'une troisième leçon....
"BIANCAV" a écrit dans le message de news:Re, je l'ai mise avec ' car il bloquait, ce qu'il me refait maintenant.
J'ai du chemin à faire !!
Sub lignecouleur() Il bloque à cette ligne là il me dit End Sub attendu
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$h$50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
Case Else
Rows(c.Row).Interior.ColorIndex = xlNone
End Select
Next c
End Sub
"FxM" a écrit dans le message de news:Bonjour,
Plusieurs causes possibles dont :
- non déclenchement de la macro. La macro peut se déclencher seule si
le code est dans le module de la feuille voulue et que la macro se
nomme
Private Sub Worksheet_Change(ByVal Target As Range)
Placer une apostrophe dans une ligne revient à dire que ce qui suit
dans la ligne est un commentaire et donc ignoré.
- les lignes indiquées, à savoir
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
sont à placer en bas juste avec le "end select" (sans les guillemets)
- dans ton code il y a un petit s dans la plage de cellules h3 à hs50.
Es-tu sûre de ce s ??
- les cellules sont déjà de la bonne couleur et la macro peut (ce n'est
pas sûr) s'exécuter sans que tu ne voies rien.
- ...
Le code dans la feuille devrait être (non testé) :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$h50")
Select Case c
Case "CN":Rows(c.Row).Interior.ColorIndex = 35
Case "PO":Rows(c.Row).Interior.ColorIndex = 39
Case "CA":Rows(c.Row).Interior.ColorIndex = 38
Case "CO":Rows(c.Row).Interior.ColorIndex = 34
Case "PI":Rows(c.Row).Interior.ColorIndex = 40
Case "CR":Rows(c.Row).Interior.ColorIndex = 37
Case "D":Rows(c.Row).Interior.ColorIndex = 36
Case "OI":Rows(c.Row).Interior.ColorIndex = 4
Case Else:Rows(c.Row).Interior.ColorIndex = xlnone
End Select
Next c
End Sub
Voilà, voilà
@+
FxMBonjour,
Et pourquoi maintenant il ne m'éxécute plus rien ?
Merci de vos connaissances
"FxM" a écrit dans le message de news:
u$Bonsoir,
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
Tu te mets aux macros ? :o)
@+
FxMBonsoir,
Tout vient à point à celui qui sait attendre, j'ai enfin réussi à
faire le select case, sauf que moi je veux que s'il n'y a rien il ne
color pas l'intérieur. En plus qd je fais un changement cad que
j'enlève les lettres et que j'exécute de nouveau il ne change pas
mes couleurs mises avec la précedente exécution. C'est pas cool !
Une solution est-elle envisageable.
Sub lignecouleur()
'
' lignecouleur Macro
' Macro enregistrée le 01/10/2006 par Véronique
'Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$hs50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
'Case Else
'Rows(c.Row).Interior.ColorIndex = 2
End Select
Next c
End Sub
"Stéphan DuQuébec" a écrit
dans le message de news:Juste parce que le foie gras m'intéresse.....
Moi, j'aime mieux travailler avec des Select Case.
Tu copies donc, de la même façon que Céline expliquait, ce qui
suit:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("ICI LE NOM DE TA PLAGE NOMMÉE")
Select Case c
Case "LE FOIE"
Rows(c.Row).Font.ColorIndex = 5
Case "GRAS POUR"
Rows(c.Row).Font.ColorIndex = 46
Case "MON AMI"
Rows(c.Row).Font.ColorIndex = 29
Case "STÉPHAN DU QUÉBEC"
Rows(c.Row).Font.ColorIndex = 3
Case "UNE FOIS"
Rows(c.Row).Font.ColorIndex = 14
Case "DEUX FOIS"
Rows(c.Row).Font.ColorIndex = 10
Case "TROIS FOIS"
Rows(c.Row).Font.ColorIndex = 53
Case "VENDU !!!!!"
Rows(c.Row).Font.ColorIndex = 7
Case Else
Rows(c.Row).Font.ColorIndex = 1
End Select
Next c
End Sub
Salutations !Bonjour,
Comment puis mettre une couleur sur toutes les lignes ou se trouve
un mot en
colonne F et bien sur qu'il prenne une autre couleurs si autre mot
et ce
jusqu'à 8 mots différents.
Merci
Bonsoir,
Du jurancon ? Si seulement (moi qui n'en boit pas) !
En fait c'est plutôt un disque dur que je vais tenter de digérer ...
surtout s'il faut que je réinstalle à partir de zéro due to "bad cluster"
and "already committed" (arggh).
Ca va devoir attendre un peu car 2 déplacements demain et mercredi matin.
Bref, en attendant de solutionner, j'ai testé la macro qui semble
fonctionner chez moi (XL2002).
Lien -> http://cjoint.com/?kcwZyn8rIZ
Je recommande donc à Bianca d'insérer l'instruction stop là :
Private Sub Worksheet_Change(ByVal Target As Range)
stop '<<<<<----- ICI
Dim c
Cette instruction va permettre de vérifier si la macro est bien appelée
(en stoppant la macro et mettant la ligne en jaune).
Si oui, placer une apostrophe devant stop et presser F5 pour poursuivre la
macro.
Si pas appelée, vérifier le nom de la macro et la position (dans le module
de la feuille où se trouve H3:H50).
Détail qui a son importance ... Pour Excel, "CN" est différent de "cn", de
"Cn" et aussi de "cN", de "CN " ou " CN" et autres variations. Si tu veux
s'affranchir des majuscules, tu peux remplacer :
Select Case c
par
Select Case UCase(c)
Ucase mettant en majuscule ce qui est entre parenthèses.
@+
FxM
bonjour biancaV, digne soeur de AV, chrisV et PaulV....
FxM vient juste de partir en course (il cherche du jurançon pour aller
avec le foie gras)
tu as une ligne de trop....
si tu supprimes Sub lignecouleur() : ta macro s'exécutera chaque fois que
tu entreras, dans une de tes cellules de la plage H3:H50, CN, PO, CA,
etc.....
si tu supprimes Private Sub Worksheet_Change(ByVal Target As Range) : tu
as une zolie macro qui s'appelle "lignecouleur" et que tu vas pouvoir
exécuter autant de fois que tu voudras, soit via Outils/Macro/Macros (tu
vas la voir dans la boîte qui s'affiche, tu la sélectionnes et tu cliques
sur le bouton Exécuter), soit en créant un bouton sur ta feuille mais
cela fera l'objet d'une prochaine leçon de VBA
HTH
jps
PS. si tu veux que la macro "lignecouleur" s'exécute dans n'importe
quelle feuille de ton classeur, il faudra la mettre dans un module, ceci
pouvant faire l'objet d'une troisième leçon....
"BIANCAV" <nospam-biancav@hotmail.fr> a écrit dans le message de news:
eF15Bjj5GHA.1252@TK2MSFTNGP04.phx.gbl...
Re, je l'ai mise avec ' car il bloquait, ce qu'il me refait maintenant.
J'ai du chemin à faire !!
Sub lignecouleur() Il bloque à cette ligne là il me dit End Sub attendu
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$h$50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
Case Else
Rows(c.Row).Interior.ColorIndex = xlNone
End Select
Next c
End Sub
"FxM" <nullos@greuchmeu.ici> a écrit dans le message de news:
O6CvVUj5GHA.4604@TK2MSFTNGP03.phx.gbl...
Bonjour,
Plusieurs causes possibles dont :
- non déclenchement de la macro. La macro peut se déclencher seule si
le code est dans le module de la feuille voulue et que la macro se
nomme
Private Sub Worksheet_Change(ByVal Target As Range)
Placer une apostrophe dans une ligne revient à dire que ce qui suit
dans la ligne est un commentaire et donc ignoré.
- les lignes indiquées, à savoir
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
sont à placer en bas juste avec le "end select" (sans les guillemets)
- dans ton code il y a un petit s dans la plage de cellules h3 à hs50.
Es-tu sûre de ce s ??
- les cellules sont déjà de la bonne couleur et la macro peut (ce n'est
pas sûr) s'exécuter sans que tu ne voies rien.
- ...
Le code dans la feuille devrait être (non testé) :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$h50")
Select Case c
Case "CN":Rows(c.Row).Interior.ColorIndex = 35
Case "PO":Rows(c.Row).Interior.ColorIndex = 39
Case "CA":Rows(c.Row).Interior.ColorIndex = 38
Case "CO":Rows(c.Row).Interior.ColorIndex = 34
Case "PI":Rows(c.Row).Interior.ColorIndex = 40
Case "CR":Rows(c.Row).Interior.ColorIndex = 37
Case "D":Rows(c.Row).Interior.ColorIndex = 36
Case "OI":Rows(c.Row).Interior.ColorIndex = 4
Case Else:Rows(c.Row).Interior.ColorIndex = xlnone
End Select
Next c
End Sub
Voilà, voilà
@+
FxM
Bonjour,
Et pourquoi maintenant il ne m'éxécute plus rien ?
Merci de vos connaissances
"FxM" <nullos@greuchmeu.ici> a écrit dans le message de news:
u$q6IqY5GHA.1924@TK2MSFTNGP05.phx.gbl...
Bonsoir,
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
Tu te mets aux macros ? :o)
@+
FxM
Bonsoir,
Tout vient à point à celui qui sait attendre, j'ai enfin réussi à
faire le select case, sauf que moi je veux que s'il n'y a rien il ne
color pas l'intérieur. En plus qd je fais un changement cad que
j'enlève les lettres et que j'exécute de nouveau il ne change pas
mes couleurs mises avec la précedente exécution. C'est pas cool !
Une solution est-elle envisageable.
Sub lignecouleur()
'
' lignecouleur Macro
' Macro enregistrée le 01/10/2006 par Véronique
'Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$hs50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
'Case Else
'Rows(c.Row).Interior.ColorIndex = 2
End Select
Next c
End Sub
"Stéphan DuQuébec" <StphanDuQubec@discussions.microsoft.com> a écrit
dans le message de news:
D18B24EB-F2FA-4E8E-B8B1-BD2FB47BFE90@microsoft.com...
Juste parce que le foie gras m'intéresse.....
Moi, j'aime mieux travailler avec des Select Case.
Tu copies donc, de la même façon que Céline expliquait, ce qui
suit:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("ICI LE NOM DE TA PLAGE NOMMÉE")
Select Case c
Case "LE FOIE"
Rows(c.Row).Font.ColorIndex = 5
Case "GRAS POUR"
Rows(c.Row).Font.ColorIndex = 46
Case "MON AMI"
Rows(c.Row).Font.ColorIndex = 29
Case "STÉPHAN DU QUÉBEC"
Rows(c.Row).Font.ColorIndex = 3
Case "UNE FOIS"
Rows(c.Row).Font.ColorIndex = 14
Case "DEUX FOIS"
Rows(c.Row).Font.ColorIndex = 10
Case "TROIS FOIS"
Rows(c.Row).Font.ColorIndex = 53
Case "VENDU !!!!!"
Rows(c.Row).Font.ColorIndex = 7
Case Else
Rows(c.Row).Font.ColorIndex = 1
End Select
Next c
End Sub
Salutations !
Bonjour,
Comment puis mettre une couleur sur toutes les lignes ou se trouve
un mot en
colonne F et bien sur qu'il prenne une autre couleurs si autre mot
et ce
jusqu'à 8 mots différents.
Merci
Bonsoir,
Du jurancon ? Si seulement (moi qui n'en boit pas) !
En fait c'est plutôt un disque dur que je vais tenter de digérer ...
surtout s'il faut que je réinstalle à partir de zéro due to "bad cluster"
and "already committed" (arggh).
Ca va devoir attendre un peu car 2 déplacements demain et mercredi matin.
Bref, en attendant de solutionner, j'ai testé la macro qui semble
fonctionner chez moi (XL2002).
Lien -> http://cjoint.com/?kcwZyn8rIZ
Je recommande donc à Bianca d'insérer l'instruction stop là :
Private Sub Worksheet_Change(ByVal Target As Range)
stop '<<<<<----- ICI
Dim c
Cette instruction va permettre de vérifier si la macro est bien appelée
(en stoppant la macro et mettant la ligne en jaune).
Si oui, placer une apostrophe devant stop et presser F5 pour poursuivre la
macro.
Si pas appelée, vérifier le nom de la macro et la position (dans le module
de la feuille où se trouve H3:H50).
Détail qui a son importance ... Pour Excel, "CN" est différent de "cn", de
"Cn" et aussi de "cN", de "CN " ou " CN" et autres variations. Si tu veux
s'affranchir des majuscules, tu peux remplacer :
Select Case c
par
Select Case UCase(c)
Ucase mettant en majuscule ce qui est entre parenthèses.
@+
FxMbonjour biancaV, digne soeur de AV, chrisV et PaulV....
FxM vient juste de partir en course (il cherche du jurançon pour aller
avec le foie gras)
tu as une ligne de trop....
si tu supprimes Sub lignecouleur() : ta macro s'exécutera chaque fois que
tu entreras, dans une de tes cellules de la plage H3:H50, CN, PO, CA,
etc.....
si tu supprimes Private Sub Worksheet_Change(ByVal Target As Range) : tu
as une zolie macro qui s'appelle "lignecouleur" et que tu vas pouvoir
exécuter autant de fois que tu voudras, soit via Outils/Macro/Macros (tu
vas la voir dans la boîte qui s'affiche, tu la sélectionnes et tu cliques
sur le bouton Exécuter), soit en créant un bouton sur ta feuille mais
cela fera l'objet d'une prochaine leçon de VBA
HTH
jps
PS. si tu veux que la macro "lignecouleur" s'exécute dans n'importe
quelle feuille de ton classeur, il faudra la mettre dans un module, ceci
pouvant faire l'objet d'une troisième leçon....
"BIANCAV" a écrit dans le message de news:Re, je l'ai mise avec ' car il bloquait, ce qu'il me refait maintenant.
J'ai du chemin à faire !!
Sub lignecouleur() Il bloque à cette ligne là il me dit End Sub attendu
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$h$50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
Case Else
Rows(c.Row).Interior.ColorIndex = xlNone
End Select
Next c
End Sub
"FxM" a écrit dans le message de news:Bonjour,
Plusieurs causes possibles dont :
- non déclenchement de la macro. La macro peut se déclencher seule si
le code est dans le module de la feuille voulue et que la macro se
nomme
Private Sub Worksheet_Change(ByVal Target As Range)
Placer une apostrophe dans une ligne revient à dire que ce qui suit
dans la ligne est un commentaire et donc ignoré.
- les lignes indiquées, à savoir
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
sont à placer en bas juste avec le "end select" (sans les guillemets)
- dans ton code il y a un petit s dans la plage de cellules h3 à hs50.
Es-tu sûre de ce s ??
- les cellules sont déjà de la bonne couleur et la macro peut (ce n'est
pas sûr) s'exécuter sans que tu ne voies rien.
- ...
Le code dans la feuille devrait être (non testé) :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$h50")
Select Case c
Case "CN":Rows(c.Row).Interior.ColorIndex = 35
Case "PO":Rows(c.Row).Interior.ColorIndex = 39
Case "CA":Rows(c.Row).Interior.ColorIndex = 38
Case "CO":Rows(c.Row).Interior.ColorIndex = 34
Case "PI":Rows(c.Row).Interior.ColorIndex = 40
Case "CR":Rows(c.Row).Interior.ColorIndex = 37
Case "D":Rows(c.Row).Interior.ColorIndex = 36
Case "OI":Rows(c.Row).Interior.ColorIndex = 4
Case Else:Rows(c.Row).Interior.ColorIndex = xlnone
End Select
Next c
End Sub
Voilà, voilà
@+
FxMBonjour,
Et pourquoi maintenant il ne m'éxécute plus rien ?
Merci de vos connaissances
"FxM" a écrit dans le message de news:
u$Bonsoir,
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
Tu te mets aux macros ? :o)
@+
FxMBonsoir,
Tout vient à point à celui qui sait attendre, j'ai enfin réussi à
faire le select case, sauf que moi je veux que s'il n'y a rien il ne
color pas l'intérieur. En plus qd je fais un changement cad que
j'enlève les lettres et que j'exécute de nouveau il ne change pas
mes couleurs mises avec la précedente exécution. C'est pas cool !
Une solution est-elle envisageable.
Sub lignecouleur()
'
' lignecouleur Macro
' Macro enregistrée le 01/10/2006 par Véronique
'Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$hs50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
'Case Else
'Rows(c.Row).Interior.ColorIndex = 2
End Select
Next c
End Sub
"Stéphan DuQuébec" a écrit
dans le message de news:Juste parce que le foie gras m'intéresse.....
Moi, j'aime mieux travailler avec des Select Case.
Tu copies donc, de la même façon que Céline expliquait, ce qui
suit:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("ICI LE NOM DE TA PLAGE NOMMÉE")
Select Case c
Case "LE FOIE"
Rows(c.Row).Font.ColorIndex = 5
Case "GRAS POUR"
Rows(c.Row).Font.ColorIndex = 46
Case "MON AMI"
Rows(c.Row).Font.ColorIndex = 29
Case "STÉPHAN DU QUÉBEC"
Rows(c.Row).Font.ColorIndex = 3
Case "UNE FOIS"
Rows(c.Row).Font.ColorIndex = 14
Case "DEUX FOIS"
Rows(c.Row).Font.ColorIndex = 10
Case "TROIS FOIS"
Rows(c.Row).Font.ColorIndex = 53
Case "VENDU !!!!!"
Rows(c.Row).Font.ColorIndex = 7
Case Else
Rows(c.Row).Font.ColorIndex = 1
End Select
Next c
End Sub
Salutations !Bonjour,
Comment puis mettre une couleur sur toutes les lignes ou se trouve
un mot en
colonne F et bien sur qu'il prenne une autre couleurs si autre mot
et ce
jusqu'à 8 mots différents.
Merci
Elle s'éxécute mais
Qui est "Elle" ? ma macro ou la tienne ? (tu peux m'envoyer le fichier ?)
partiellement seulement sur le première ligne
quelle est cette ligne ?
et ne change rien si moi je change le groupe.
Peut-être que tes évènements ont été rendus inactifs [encore un coup de
J'accepte toute solution à moins que décidement les macros ne soient
pas pour moi !
Mais si, on s'y fait :o)
Bonjour,
Je suis sous excel 2002 et windows XP edition familiale. Elle s'éxécute mais
partiellement seulement sur le première ligne et ne change rien si moi je
change le groupe. Peut-être que moi je devrais prendre du jurançon à défaut
de disque dur !
J'accepte toute solution à moins que décidement les macros ne soient pas
pour moi !
"FxM" a écrit dans le message de news:
Ow$Bonsoir,
Du jurancon ? Si seulement (moi qui n'en boit pas) !
En fait c'est plutôt un disque dur que je vais tenter de digérer ...
surtout s'il faut que je réinstalle à partir de zéro due to "bad cluster"
and "already committed" (arggh).
Ca va devoir attendre un peu car 2 déplacements demain et mercredi matin.
Bref, en attendant de solutionner, j'ai testé la macro qui semble
fonctionner chez moi (XL2002).
Lien -> http://cjoint.com/?kcwZyn8rIZ
Je recommande donc à Bianca d'insérer l'instruction stop là :
Private Sub Worksheet_Change(ByVal Target As Range)
stop '<<<<<----- ICI
Dim c
Cette instruction va permettre de vérifier si la macro est bien appelée
(en stoppant la macro et mettant la ligne en jaune).
Si oui, placer une apostrophe devant stop et presser F5 pour poursuivre la
macro.
Si pas appelée, vérifier le nom de la macro et la position (dans le module
de la feuille où se trouve H3:H50).
Détail qui a son importance ... Pour Excel, "CN" est différent de "cn", de
"Cn" et aussi de "cN", de "CN " ou " CN" et autres variations. Si tu veux
s'affranchir des majuscules, tu peux remplacer :
Select Case c
par
Select Case UCase(c)
Ucase mettant en majuscule ce qui est entre parenthèses.
@+
FxMbonjour biancaV, digne soeur de AV, chrisV et PaulV....
FxM vient juste de partir en course (il cherche du jurançon pour aller
avec le foie gras)
tu as une ligne de trop....
si tu supprimes Sub lignecouleur() : ta macro s'exécutera chaque fois que
tu entreras, dans une de tes cellules de la plage H3:H50, CN, PO, CA,
etc.....
si tu supprimes Private Sub Worksheet_Change(ByVal Target As Range) : tu
as une zolie macro qui s'appelle "lignecouleur" et que tu vas pouvoir
exécuter autant de fois que tu voudras, soit via Outils/Macro/Macros (tu
vas la voir dans la boîte qui s'affiche, tu la sélectionnes et tu cliques
sur le bouton Exécuter), soit en créant un bouton sur ta feuille mais
cela fera l'objet d'une prochaine leçon de VBA
HTH
jps
PS. si tu veux que la macro "lignecouleur" s'exécute dans n'importe
quelle feuille de ton classeur, il faudra la mettre dans un module, ceci
pouvant faire l'objet d'une troisième leçon....
"BIANCAV" a écrit dans le message de news:Re, je l'ai mise avec ' car il bloquait, ce qu'il me refait maintenant.
J'ai du chemin à faire !!
Sub lignecouleur() Il bloque à cette ligne là il me dit End Sub attendu
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$h$50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
Case Else
Rows(c.Row).Interior.ColorIndex = xlNone
End Select
Next c
End Sub
"FxM" a écrit dans le message de news:Bonjour,
Plusieurs causes possibles dont :
- non déclenchement de la macro. La macro peut se déclencher seule si
le code est dans le module de la feuille voulue et que la macro se
nomme
Private Sub Worksheet_Change(ByVal Target As Range)
Placer une apostrophe dans une ligne revient à dire que ce qui suit
dans la ligne est un commentaire et donc ignoré.
- les lignes indiquées, à savoir
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
sont à placer en bas juste avec le "end select" (sans les guillemets)
- dans ton code il y a un petit s dans la plage de cellules h3 à hs50.
Es-tu sûre de ce s ??
- les cellules sont déjà de la bonne couleur et la macro peut (ce n'est
pas sûr) s'exécuter sans que tu ne voies rien.
- ...
Le code dans la feuille devrait être (non testé) :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$h50")
Select Case c
Case "CN":Rows(c.Row).Interior.ColorIndex = 35
Case "PO":Rows(c.Row).Interior.ColorIndex = 39
Case "CA":Rows(c.Row).Interior.ColorIndex = 38
Case "CO":Rows(c.Row).Interior.ColorIndex = 34
Case "PI":Rows(c.Row).Interior.ColorIndex = 40
Case "CR":Rows(c.Row).Interior.ColorIndex = 37
Case "D":Rows(c.Row).Interior.ColorIndex = 36
Case "OI":Rows(c.Row).Interior.ColorIndex = 4
Case Else:Rows(c.Row).Interior.ColorIndex = xlnone
End Select
Next c
End Sub
Voilà, voilà
@+
FxMBonjour,
Et pourquoi maintenant il ne m'éxécute plus rien ?
Merci de vos connaissances
"FxM" a écrit dans le message de news:
u$Bonsoir,
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
Tu te mets aux macros ? :o)
@+
FxMBonsoir,
Tout vient à point à celui qui sait attendre, j'ai enfin réussi à
faire le select case, sauf que moi je veux que s'il n'y a rien il ne
color pas l'intérieur. En plus qd je fais un changement cad que
j'enlève les lettres et que j'exécute de nouveau il ne change pas
mes couleurs mises avec la précedente exécution. C'est pas cool !
Une solution est-elle envisageable.
Sub lignecouleur()
'
' lignecouleur Macro
' Macro enregistrée le 01/10/2006 par Véronique
'Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$hs50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
'Case Else
'Rows(c.Row).Interior.ColorIndex = 2
End Select
Next c
End Sub
"Stéphan DuQuébec" a écrit
dans le message de news:Juste parce que le foie gras m'intéresse.....
Moi, j'aime mieux travailler avec des Select Case.
Tu copies donc, de la même façon que Céline expliquait, ce qui
suit:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("ICI LE NOM DE TA PLAGE NOMMÉE")
Select Case c
Case "LE FOIE"
Rows(c.Row).Font.ColorIndex = 5
Case "GRAS POUR"
Rows(c.Row).Font.ColorIndex = 46
Case "MON AMI"
Rows(c.Row).Font.ColorIndex = 29
Case "STÉPHAN DU QUÉBEC"
Rows(c.Row).Font.ColorIndex = 3
Case "UNE FOIS"
Rows(c.Row).Font.ColorIndex = 14
Case "DEUX FOIS"
Rows(c.Row).Font.ColorIndex = 10
Case "TROIS FOIS"
Rows(c.Row).Font.ColorIndex = 53
Case "VENDU !!!!!"
Rows(c.Row).Font.ColorIndex = 7
Case Else
Rows(c.Row).Font.ColorIndex = 1
End Select
Next c
End Sub
Salutations !Bonjour,
Comment puis mettre une couleur sur toutes les lignes ou se trouve
un mot en
colonne F et bien sur qu'il prenne une autre couleurs si autre mot
et ce
jusqu'à 8 mots différents.
Merci
Elle s'éxécute mais
Qui est "Elle" ? ma macro ou la tienne ? (tu peux m'envoyer le fichier ?)
partiellement seulement sur le première ligne
quelle est cette ligne ?
et ne change rien si moi je change le groupe.
Peut-être que tes évènements ont été rendus inactifs [encore un coup de
J'accepte toute solution à moins que décidement les macros ne soient
pas pour moi !
Mais si, on s'y fait :o)
Bonjour,
Je suis sous excel 2002 et windows XP edition familiale. Elle s'éxécute mais
partiellement seulement sur le première ligne et ne change rien si moi je
change le groupe. Peut-être que moi je devrais prendre du jurançon à défaut
de disque dur !
J'accepte toute solution à moins que décidement les macros ne soient pas
pour moi !
"FxM" <nullos@greuchmeu.ici> a écrit dans le message de news:
Ow$5USm5GHA.4304@TK2MSFTNGP03.phx.gbl...
Bonsoir,
Du jurancon ? Si seulement (moi qui n'en boit pas) !
En fait c'est plutôt un disque dur que je vais tenter de digérer ...
surtout s'il faut que je réinstalle à partir de zéro due to "bad cluster"
and "already committed" (arggh).
Ca va devoir attendre un peu car 2 déplacements demain et mercredi matin.
Bref, en attendant de solutionner, j'ai testé la macro qui semble
fonctionner chez moi (XL2002).
Lien -> http://cjoint.com/?kcwZyn8rIZ
Je recommande donc à Bianca d'insérer l'instruction stop là :
Private Sub Worksheet_Change(ByVal Target As Range)
stop '<<<<<----- ICI
Dim c
Cette instruction va permettre de vérifier si la macro est bien appelée
(en stoppant la macro et mettant la ligne en jaune).
Si oui, placer une apostrophe devant stop et presser F5 pour poursuivre la
macro.
Si pas appelée, vérifier le nom de la macro et la position (dans le module
de la feuille où se trouve H3:H50).
Détail qui a son importance ... Pour Excel, "CN" est différent de "cn", de
"Cn" et aussi de "cN", de "CN " ou " CN" et autres variations. Si tu veux
s'affranchir des majuscules, tu peux remplacer :
Select Case c
par
Select Case UCase(c)
Ucase mettant en majuscule ce qui est entre parenthèses.
@+
FxM
bonjour biancaV, digne soeur de AV, chrisV et PaulV....
FxM vient juste de partir en course (il cherche du jurançon pour aller
avec le foie gras)
tu as une ligne de trop....
si tu supprimes Sub lignecouleur() : ta macro s'exécutera chaque fois que
tu entreras, dans une de tes cellules de la plage H3:H50, CN, PO, CA,
etc.....
si tu supprimes Private Sub Worksheet_Change(ByVal Target As Range) : tu
as une zolie macro qui s'appelle "lignecouleur" et que tu vas pouvoir
exécuter autant de fois que tu voudras, soit via Outils/Macro/Macros (tu
vas la voir dans la boîte qui s'affiche, tu la sélectionnes et tu cliques
sur le bouton Exécuter), soit en créant un bouton sur ta feuille mais
cela fera l'objet d'une prochaine leçon de VBA
HTH
jps
PS. si tu veux que la macro "lignecouleur" s'exécute dans n'importe
quelle feuille de ton classeur, il faudra la mettre dans un module, ceci
pouvant faire l'objet d'une troisième leçon....
"BIANCAV" <nospam-biancav@hotmail.fr> a écrit dans le message de news:
eF15Bjj5GHA.1252@TK2MSFTNGP04.phx.gbl...
Re, je l'ai mise avec ' car il bloquait, ce qu'il me refait maintenant.
J'ai du chemin à faire !!
Sub lignecouleur() Il bloque à cette ligne là il me dit End Sub attendu
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$h$50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
Case Else
Rows(c.Row).Interior.ColorIndex = xlNone
End Select
Next c
End Sub
"FxM" <nullos@greuchmeu.ici> a écrit dans le message de news:
O6CvVUj5GHA.4604@TK2MSFTNGP03.phx.gbl...
Bonjour,
Plusieurs causes possibles dont :
- non déclenchement de la macro. La macro peut se déclencher seule si
le code est dans le module de la feuille voulue et que la macro se
nomme
Private Sub Worksheet_Change(ByVal Target As Range)
Placer une apostrophe dans une ligne revient à dire que ce qui suit
dans la ligne est un commentaire et donc ignoré.
- les lignes indiquées, à savoir
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
sont à placer en bas juste avec le "end select" (sans les guillemets)
- dans ton code il y a un petit s dans la plage de cellules h3 à hs50.
Es-tu sûre de ce s ??
- les cellules sont déjà de la bonne couleur et la macro peut (ce n'est
pas sûr) s'exécuter sans que tu ne voies rien.
- ...
Le code dans la feuille devrait être (non testé) :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$h50")
Select Case c
Case "CN":Rows(c.Row).Interior.ColorIndex = 35
Case "PO":Rows(c.Row).Interior.ColorIndex = 39
Case "CA":Rows(c.Row).Interior.ColorIndex = 38
Case "CO":Rows(c.Row).Interior.ColorIndex = 34
Case "PI":Rows(c.Row).Interior.ColorIndex = 40
Case "CR":Rows(c.Row).Interior.ColorIndex = 37
Case "D":Rows(c.Row).Interior.ColorIndex = 36
Case "OI":Rows(c.Row).Interior.ColorIndex = 4
Case Else:Rows(c.Row).Interior.ColorIndex = xlnone
End Select
Next c
End Sub
Voilà, voilà
@+
FxM
Bonjour,
Et pourquoi maintenant il ne m'éxécute plus rien ?
Merci de vos connaissances
"FxM" <nullos@greuchmeu.ici> a écrit dans le message de news:
u$q6IqY5GHA.1924@TK2MSFTNGP05.phx.gbl...
Bonsoir,
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
Tu te mets aux macros ? :o)
@+
FxM
Bonsoir,
Tout vient à point à celui qui sait attendre, j'ai enfin réussi à
faire le select case, sauf que moi je veux que s'il n'y a rien il ne
color pas l'intérieur. En plus qd je fais un changement cad que
j'enlève les lettres et que j'exécute de nouveau il ne change pas
mes couleurs mises avec la précedente exécution. C'est pas cool !
Une solution est-elle envisageable.
Sub lignecouleur()
'
' lignecouleur Macro
' Macro enregistrée le 01/10/2006 par Véronique
'Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$hs50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
'Case Else
'Rows(c.Row).Interior.ColorIndex = 2
End Select
Next c
End Sub
"Stéphan DuQuébec" <StphanDuQubec@discussions.microsoft.com> a écrit
dans le message de news:
D18B24EB-F2FA-4E8E-B8B1-BD2FB47BFE90@microsoft.com...
Juste parce que le foie gras m'intéresse.....
Moi, j'aime mieux travailler avec des Select Case.
Tu copies donc, de la même façon que Céline expliquait, ce qui
suit:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("ICI LE NOM DE TA PLAGE NOMMÉE")
Select Case c
Case "LE FOIE"
Rows(c.Row).Font.ColorIndex = 5
Case "GRAS POUR"
Rows(c.Row).Font.ColorIndex = 46
Case "MON AMI"
Rows(c.Row).Font.ColorIndex = 29
Case "STÉPHAN DU QUÉBEC"
Rows(c.Row).Font.ColorIndex = 3
Case "UNE FOIS"
Rows(c.Row).Font.ColorIndex = 14
Case "DEUX FOIS"
Rows(c.Row).Font.ColorIndex = 10
Case "TROIS FOIS"
Rows(c.Row).Font.ColorIndex = 53
Case "VENDU !!!!!"
Rows(c.Row).Font.ColorIndex = 7
Case Else
Rows(c.Row).Font.ColorIndex = 1
End Select
Next c
End Sub
Salutations !
Bonjour,
Comment puis mettre une couleur sur toutes les lignes ou se trouve
un mot en
colonne F et bien sur qu'il prenne une autre couleurs si autre mot
et ce
jusqu'à 8 mots différents.
Merci
Elle s'éxécute mais
Qui est "Elle" ? ma macro ou la tienne ? (tu peux m'envoyer le fichier ?)
partiellement seulement sur le première ligne
quelle est cette ligne ?
et ne change rien si moi je change le groupe.
Peut-être que tes évènements ont été rendus inactifs [encore un coup de
J'accepte toute solution à moins que décidement les macros ne soient
pas pour moi !
Mais si, on s'y fait :o)
Bonjour,
Je suis sous excel 2002 et windows XP edition familiale. Elle s'éxécute mais
partiellement seulement sur le première ligne et ne change rien si moi je
change le groupe. Peut-être que moi je devrais prendre du jurançon à défaut
de disque dur !
J'accepte toute solution à moins que décidement les macros ne soient pas
pour moi !
"FxM" a écrit dans le message de news:
Ow$Bonsoir,
Du jurancon ? Si seulement (moi qui n'en boit pas) !
En fait c'est plutôt un disque dur que je vais tenter de digérer ...
surtout s'il faut que je réinstalle à partir de zéro due to "bad cluster"
and "already committed" (arggh).
Ca va devoir attendre un peu car 2 déplacements demain et mercredi matin.
Bref, en attendant de solutionner, j'ai testé la macro qui semble
fonctionner chez moi (XL2002).
Lien -> http://cjoint.com/?kcwZyn8rIZ
Je recommande donc à Bianca d'insérer l'instruction stop là :
Private Sub Worksheet_Change(ByVal Target As Range)
stop '<<<<<----- ICI
Dim c
Cette instruction va permettre de vérifier si la macro est bien appelée
(en stoppant la macro et mettant la ligne en jaune).
Si oui, placer une apostrophe devant stop et presser F5 pour poursuivre la
macro.
Si pas appelée, vérifier le nom de la macro et la position (dans le module
de la feuille où se trouve H3:H50).
Détail qui a son importance ... Pour Excel, "CN" est différent de "cn", de
"Cn" et aussi de "cN", de "CN " ou " CN" et autres variations. Si tu veux
s'affranchir des majuscules, tu peux remplacer :
Select Case c
par
Select Case UCase(c)
Ucase mettant en majuscule ce qui est entre parenthèses.
@+
FxMbonjour biancaV, digne soeur de AV, chrisV et PaulV....
FxM vient juste de partir en course (il cherche du jurançon pour aller
avec le foie gras)
tu as une ligne de trop....
si tu supprimes Sub lignecouleur() : ta macro s'exécutera chaque fois que
tu entreras, dans une de tes cellules de la plage H3:H50, CN, PO, CA,
etc.....
si tu supprimes Private Sub Worksheet_Change(ByVal Target As Range) : tu
as une zolie macro qui s'appelle "lignecouleur" et que tu vas pouvoir
exécuter autant de fois que tu voudras, soit via Outils/Macro/Macros (tu
vas la voir dans la boîte qui s'affiche, tu la sélectionnes et tu cliques
sur le bouton Exécuter), soit en créant un bouton sur ta feuille mais
cela fera l'objet d'une prochaine leçon de VBA
HTH
jps
PS. si tu veux que la macro "lignecouleur" s'exécute dans n'importe
quelle feuille de ton classeur, il faudra la mettre dans un module, ceci
pouvant faire l'objet d'une troisième leçon....
"BIANCAV" a écrit dans le message de news:Re, je l'ai mise avec ' car il bloquait, ce qu'il me refait maintenant.
J'ai du chemin à faire !!
Sub lignecouleur() Il bloque à cette ligne là il me dit End Sub attendu
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$h$50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
Case Else
Rows(c.Row).Interior.ColorIndex = xlNone
End Select
Next c
End Sub
"FxM" a écrit dans le message de news:Bonjour,
Plusieurs causes possibles dont :
- non déclenchement de la macro. La macro peut se déclencher seule si
le code est dans le module de la feuille voulue et que la macro se
nomme
Private Sub Worksheet_Change(ByVal Target As Range)
Placer une apostrophe dans une ligne revient à dire que ce qui suit
dans la ligne est un commentaire et donc ignoré.
- les lignes indiquées, à savoir
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
sont à placer en bas juste avec le "end select" (sans les guillemets)
- dans ton code il y a un petit s dans la plage de cellules h3 à hs50.
Es-tu sûre de ce s ??
- les cellules sont déjà de la bonne couleur et la macro peut (ce n'est
pas sûr) s'exécuter sans que tu ne voies rien.
- ...
Le code dans la feuille devrait être (non testé) :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$h50")
Select Case c
Case "CN":Rows(c.Row).Interior.ColorIndex = 35
Case "PO":Rows(c.Row).Interior.ColorIndex = 39
Case "CA":Rows(c.Row).Interior.ColorIndex = 38
Case "CO":Rows(c.Row).Interior.ColorIndex = 34
Case "PI":Rows(c.Row).Interior.ColorIndex = 40
Case "CR":Rows(c.Row).Interior.ColorIndex = 37
Case "D":Rows(c.Row).Interior.ColorIndex = 36
Case "OI":Rows(c.Row).Interior.ColorIndex = 4
Case Else:Rows(c.Row).Interior.ColorIndex = xlnone
End Select
Next c
End Sub
Voilà, voilà
@+
FxMBonjour,
Et pourquoi maintenant il ne m'éxécute plus rien ?
Merci de vos connaissances
"FxM" a écrit dans le message de news:
u$Bonsoir,
Case Else
Rows(c.Row).Interior.ColorIndex = xlnone
Tu te mets aux macros ? :o)
@+
FxMBonsoir,
Tout vient à point à celui qui sait attendre, j'ai enfin réussi à
faire le select case, sauf que moi je veux que s'il n'y a rien il ne
color pas l'intérieur. En plus qd je fais un changement cad que
j'enlève les lettres et que j'exécute de nouveau il ne change pas
mes couleurs mises avec la précedente exécution. C'est pas cool !
Une solution est-elle envisageable.
Sub lignecouleur()
'
' lignecouleur Macro
' Macro enregistrée le 01/10/2006 par Véronique
'Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("$h$3:$hs50")
Select Case c
Case "CN"
Rows(c.Row).Interior.ColorIndex = 35
Case "PO"
Rows(c.Row).Interior.ColorIndex = 39
Case "CA"
Rows(c.Row).Interior.ColorIndex = 38
Case "CO"
Rows(c.Row).Interior.ColorIndex = 34
Case "PI"
Rows(c.Row).Interior.ColorIndex = 40
Case "CR"
Rows(c.Row).Interior.ColorIndex = 37
Case "D"
Rows(c.Row).Interior.ColorIndex = 36
Case "OI"
Rows(c.Row).Interior.ColorIndex = 4
'Case Else
'Rows(c.Row).Interior.ColorIndex = 2
End Select
Next c
End Sub
"Stéphan DuQuébec" a écrit
dans le message de news:Juste parce que le foie gras m'intéresse.....
Moi, j'aime mieux travailler avec des Select Case.
Tu copies donc, de la même façon que Céline expliquait, ce qui
suit:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
For Each c In Range("ICI LE NOM DE TA PLAGE NOMMÉE")
Select Case c
Case "LE FOIE"
Rows(c.Row).Font.ColorIndex = 5
Case "GRAS POUR"
Rows(c.Row).Font.ColorIndex = 46
Case "MON AMI"
Rows(c.Row).Font.ColorIndex = 29
Case "STÉPHAN DU QUÉBEC"
Rows(c.Row).Font.ColorIndex = 3
Case "UNE FOIS"
Rows(c.Row).Font.ColorIndex = 14
Case "DEUX FOIS"
Rows(c.Row).Font.ColorIndex = 10
Case "TROIS FOIS"
Rows(c.Row).Font.ColorIndex = 53
Case "VENDU !!!!!"
Rows(c.Row).Font.ColorIndex = 7
Case Else
Rows(c.Row).Font.ColorIndex = 1
End Select
Next c
End Sub
Salutations !Bonjour,
Comment puis mettre une couleur sur toutes les lignes ou se trouve
un mot en
colonne F et bien sur qu'il prenne une autre couleurs si autre mot
et ce
jusqu'à 8 mots différents.
Merci