Hello BiancaV,
Pourrais-tu préciser :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 ?
La macro est définie pour travailler sur les lignes 3 à 50 (donc pas avant
et pas après), sur la colonne H.et ne change rien si moi je change le groupe.
Peut-être que tes évènements ont été rendus inactifs [encore un coup de
GeeDee ça ;o) ] Pour les réactiver, macro :o)
sub reactive()
application.enableevents = true
end subJ'accepte toute solution à moins que décidement les macros ne soient
pas pour moi !
Mais si, on s'y fait :o)
@+
FxMBonjour,
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
Hello BiancaV,
Pourrais-tu préciser :
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 ?
La macro est définie pour travailler sur les lignes 3 à 50 (donc pas avant
et pas après), sur la colonne H.
et ne change rien si moi je change le groupe.
Peut-être que tes évènements ont été rendus inactifs [encore un coup de
GeeDee ça ;o) ] Pour les réactiver, macro :o)
sub reactive()
application.enableevents = true
end sub
J'accepte toute solution à moins que décidement les macros ne soient
pas pour moi !
Mais si, on s'y fait :o)
@+
FxM
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
Hello BiancaV,
Pourrais-tu préciser :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 ?
La macro est définie pour travailler sur les lignes 3 à 50 (donc pas avant
et pas après), sur la colonne H.et ne change rien si moi je change le groupe.
Peut-être que tes évènements ont été rendus inactifs [encore un coup de
GeeDee ça ;o) ] Pour les réactiver, macro :o)
sub reactive()
application.enableevents = true
end subJ'accepte toute solution à moins que décidement les macros ne soient
pas pour moi !
Mais si, on s'y fait :o)
@+
FxMBonjour,
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
http://cjoint.com/?kevTCLKEGn
Bonsoir,
Voilà la base. J'ai l'impression de te parler chinois !
Merci
"FxM" a écrit dans le message de news:Hello BiancaV,
Pourrais-tu préciser :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 ?
La macro est définie pour travailler sur les lignes 3 à 50 (donc pas avant
et pas après), sur la colonne H.et ne change rien si moi je change le groupe.
Peut-être que tes évènements ont été rendus inactifs [encore un coup de
GeeDee ça ;o) ] Pour les réactiver, macro :o)
sub reactive()
application.enableevents = true
end subJ'accepte toute solution à moins que décidement les macros ne soient
pas pour moi !
Mais si, on s'y fait :o)
@+
FxMBonjour,
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
http://cjoint.com/?kevTCLKEGn
Bonsoir,
Voilà la base. J'ai l'impression de te parler chinois !
Merci
"FxM" <nullos@greuchmeu.ici> a écrit dans le message de news:
eoDPYt85GHA.2464@TK2MSFTNGP06.phx.gbl...
Hello BiancaV,
Pourrais-tu préciser :
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 ?
La macro est définie pour travailler sur les lignes 3 à 50 (donc pas avant
et pas après), sur la colonne H.
et ne change rien si moi je change le groupe.
Peut-être que tes évènements ont été rendus inactifs [encore un coup de
GeeDee ça ;o) ] Pour les réactiver, macro :o)
sub reactive()
application.enableevents = true
end sub
J'accepte toute solution à moins que décidement les macros ne soient
pas pour moi !
Mais si, on s'y fait :o)
@+
FxM
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
http://cjoint.com/?kevTCLKEGn
Bonsoir,
Voilà la base. J'ai l'impression de te parler chinois !
Merci
"FxM" a écrit dans le message de news:Hello BiancaV,
Pourrais-tu préciser :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 ?
La macro est définie pour travailler sur les lignes 3 à 50 (donc pas avant
et pas après), sur la colonne H.et ne change rien si moi je change le groupe.
Peut-être que tes évènements ont été rendus inactifs [encore un coup de
GeeDee ça ;o) ] Pour les réactiver, macro :o)
sub reactive()
application.enableevents = true
end subJ'accepte toute solution à moins que décidement les macros ne soient
pas pour moi !
Mais si, on s'y fait :o)
@+
FxMBonjour,
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
Bonjour,
chinois ? Ca ne va pas être simple !
Les évènements sont liés à mon Excel (donc OK chez moi), la macro est bien
écrite mais placée dans le module "couleurs" et pas dans le module de la
feuille. http://cjoint.com/?kfmPVinhqy
Lorsque tu veux aller dans un module (de feuille ou général), tu dois
double-cliquer sur le module. UN simple clic le sélectionne mais ne
l'ouvre pas.
Et oui, tu peux masquer la ligne pour qu'elle ne soit pas touchée :o)
@+
FxMhttp://cjoint.com/?kevTCLKEGn
Bonsoir,
Voilà la base. J'ai l'impression de te parler chinois !
Merci
"FxM" a écrit dans le message de news:Hello BiancaV,
Pourrais-tu préciser :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 ?
La macro est définie pour travailler sur les lignes 3 à 50 (donc pas
avant et pas après), sur la colonne H.et ne change rien si moi je change le groupe.
Peut-être que tes évènements ont été rendus inactifs [encore un coup de
GeeDee ça ;o) ] Pour les réactiver, macro :o)
sub reactive()
application.enableevents = true
end subJ'accepte toute solution à moins que décidement les macros ne soient
pas pour moi !
Mais si, on s'y fait :o)
@+
FxMBonjour,
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
Bonjour,
chinois ? Ca ne va pas être simple !
Les évènements sont liés à mon Excel (donc OK chez moi), la macro est bien
écrite mais placée dans le module "couleurs" et pas dans le module de la
feuille. http://cjoint.com/?kfmPVinhqy
Lorsque tu veux aller dans un module (de feuille ou général), tu dois
double-cliquer sur le module. UN simple clic le sélectionne mais ne
l'ouvre pas.
Et oui, tu peux masquer la ligne pour qu'elle ne soit pas touchée :o)
@+
FxM
http://cjoint.com/?kevTCLKEGn
Bonsoir,
Voilà la base. J'ai l'impression de te parler chinois !
Merci
"FxM" <nullos@greuchmeu.ici> a écrit dans le message de news:
eoDPYt85GHA.2464@TK2MSFTNGP06.phx.gbl...
Hello BiancaV,
Pourrais-tu préciser :
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 ?
La macro est définie pour travailler sur les lignes 3 à 50 (donc pas
avant et pas après), sur la colonne H.
et ne change rien si moi je change le groupe.
Peut-être que tes évènements ont été rendus inactifs [encore un coup de
GeeDee ça ;o) ] Pour les réactiver, macro :o)
sub reactive()
application.enableevents = true
end sub
J'accepte toute solution à moins que décidement les macros ne soient
pas pour moi !
Mais si, on s'y fait :o)
@+
FxM
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
Bonjour,
chinois ? Ca ne va pas être simple !
Les évènements sont liés à mon Excel (donc OK chez moi), la macro est bien
écrite mais placée dans le module "couleurs" et pas dans le module de la
feuille. http://cjoint.com/?kfmPVinhqy
Lorsque tu veux aller dans un module (de feuille ou général), tu dois
double-cliquer sur le module. UN simple clic le sélectionne mais ne
l'ouvre pas.
Et oui, tu peux masquer la ligne pour qu'elle ne soit pas touchée :o)
@+
FxMhttp://cjoint.com/?kevTCLKEGn
Bonsoir,
Voilà la base. J'ai l'impression de te parler chinois !
Merci
"FxM" a écrit dans le message de news:Hello BiancaV,
Pourrais-tu préciser :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 ?
La macro est définie pour travailler sur les lignes 3 à 50 (donc pas
avant et pas après), sur la colonne H.et ne change rien si moi je change le groupe.
Peut-être que tes évènements ont été rendus inactifs [encore un coup de
GeeDee ça ;o) ] Pour les réactiver, macro :o)
sub reactive()
application.enableevents = true
end subJ'accepte toute solution à moins que décidement les macros ne soient
pas pour moi !
Mais si, on s'y fait :o)
@+
FxMBonjour,
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
Bonjour,
chinois ? Ca ne va pas être simple !
Les évènements sont liés à mon Excel (donc OK chez moi), la macro est bien
écrite mais placée dans le module "couleurs" et pas dans le module de la
feuille. http://cjoint.com/?kfmPVinhqy
Lorsque tu veux aller dans un module (de feuille ou général), tu dois
double-cliquer sur le module. UN simple clic le sélectionne mais ne
l'ouvre pas.
Et oui, tu peux masquer la ligne pour qu'elle ne soit pas touchée :o)
@+
FxMhttp://cjoint.com/?kevTCLKEGn
Bonsoir,
Voilà la base. J'ai l'impression de te parler chinois !
Merci
"FxM" a écrit dans le message de news:Hello BiancaV,
Pourrais-tu préciser :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 ?
La macro est définie pour travailler sur les lignes 3 à 50 (donc pas
avant et pas après), sur la colonne H.et ne change rien si moi je change le groupe.
Peut-être que tes évènements ont été rendus inactifs [encore un coup de
GeeDee ça ;o) ] Pour les réactiver, macro :o)
sub reactive()
application.enableevents = true
end subJ'accepte toute solution à moins que décidement les macros ne soient
pas pour moi !
Mais si, on s'y fait :o)
@+
FxMBonjour,
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
Bonjour,
chinois ? Ca ne va pas être simple !
Les évènements sont liés à mon Excel (donc OK chez moi), la macro est bien
écrite mais placée dans le module "couleurs" et pas dans le module de la
feuille. http://cjoint.com/?kfmPVinhqy
Lorsque tu veux aller dans un module (de feuille ou général), tu dois
double-cliquer sur le module. UN simple clic le sélectionne mais ne
l'ouvre pas.
Et oui, tu peux masquer la ligne pour qu'elle ne soit pas touchée :o)
@+
FxM
http://cjoint.com/?kevTCLKEGn
Bonsoir,
Voilà la base. J'ai l'impression de te parler chinois !
Merci
"FxM" <nullos@greuchmeu.ici> a écrit dans le message de news:
eoDPYt85GHA.2464@TK2MSFTNGP06.phx.gbl...
Hello BiancaV,
Pourrais-tu préciser :
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 ?
La macro est définie pour travailler sur les lignes 3 à 50 (donc pas
avant et pas après), sur la colonne H.
et ne change rien si moi je change le groupe.
Peut-être que tes évènements ont été rendus inactifs [encore un coup de
GeeDee ça ;o) ] Pour les réactiver, macro :o)
sub reactive()
application.enableevents = true
end sub
J'accepte toute solution à moins que décidement les macros ne soient
pas pour moi !
Mais si, on s'y fait :o)
@+
FxM
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
Bonjour,
chinois ? Ca ne va pas être simple !
Les évènements sont liés à mon Excel (donc OK chez moi), la macro est bien
écrite mais placée dans le module "couleurs" et pas dans le module de la
feuille. http://cjoint.com/?kfmPVinhqy
Lorsque tu veux aller dans un module (de feuille ou général), tu dois
double-cliquer sur le module. UN simple clic le sélectionne mais ne
l'ouvre pas.
Et oui, tu peux masquer la ligne pour qu'elle ne soit pas touchée :o)
@+
FxMhttp://cjoint.com/?kevTCLKEGn
Bonsoir,
Voilà la base. J'ai l'impression de te parler chinois !
Merci
"FxM" a écrit dans le message de news:Hello BiancaV,
Pourrais-tu préciser :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 ?
La macro est définie pour travailler sur les lignes 3 à 50 (donc pas
avant et pas après), sur la colonne H.et ne change rien si moi je change le groupe.
Peut-être que tes évènements ont été rendus inactifs [encore un coup de
GeeDee ça ;o) ] Pour les réactiver, macro :o)
sub reactive()
application.enableevents = true
end subJ'accepte toute solution à moins que décidement les macros ne soient
pas pour moi !
Mais si, on s'y fait :o)
@+
FxMBonjour,
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
Bonjour,
chinois ? Ca ne va pas être simple !
Les évènements sont liés à mon Excel (donc OK chez moi), la macro est bien
écrite mais placée dans le module "couleurs" et pas dans le module de la
feuille. http://cjoint.com/?kfmPVinhqy
Lorsque tu veux aller dans un module (de feuille ou général), tu dois
double-cliquer sur le module. UN simple clic le sélectionne mais ne
l'ouvre pas.
Et oui, tu peux masquer la ligne pour qu'elle ne soit pas touchée :o)
@+
FxMhttp://cjoint.com/?kevTCLKEGn
Bonsoir,
Voilà la base. J'ai l'impression de te parler chinois !
Merci
"FxM" a écrit dans le message de news:Hello BiancaV,
Pourrais-tu préciser :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 ?
La macro est définie pour travailler sur les lignes 3 à 50 (donc pas
avant et pas après), sur la colonne H.et ne change rien si moi je change le groupe.
Peut-être que tes évènements ont été rendus inactifs [encore un coup de
GeeDee ça ;o) ] Pour les réactiver, macro :o)
sub reactive()
application.enableevents = true
end subJ'accepte toute solution à moins que décidement les macros ne soient
pas pour moi !
Mais si, on s'y fait :o)
@+
FxMBonjour,
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
Bonjour,
chinois ? Ca ne va pas être simple !
Les évènements sont liés à mon Excel (donc OK chez moi), la macro est bien
écrite mais placée dans le module "couleurs" et pas dans le module de la
feuille. http://cjoint.com/?kfmPVinhqy
Lorsque tu veux aller dans un module (de feuille ou général), tu dois
double-cliquer sur le module. UN simple clic le sélectionne mais ne
l'ouvre pas.
Et oui, tu peux masquer la ligne pour qu'elle ne soit pas touchée :o)
@+
FxM
http://cjoint.com/?kevTCLKEGn
Bonsoir,
Voilà la base. J'ai l'impression de te parler chinois !
Merci
"FxM" <nullos@greuchmeu.ici> a écrit dans le message de news:
eoDPYt85GHA.2464@TK2MSFTNGP06.phx.gbl...
Hello BiancaV,
Pourrais-tu préciser :
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 ?
La macro est définie pour travailler sur les lignes 3 à 50 (donc pas
avant et pas après), sur la colonne H.
et ne change rien si moi je change le groupe.
Peut-être que tes évènements ont été rendus inactifs [encore un coup de
GeeDee ça ;o) ] Pour les réactiver, macro :o)
sub reactive()
application.enableevents = true
end sub
J'accepte toute solution à moins que décidement les macros ne soient
pas pour moi !
Mais si, on s'y fait :o)
@+
FxM
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
Bonjour,
chinois ? Ca ne va pas être simple !
Les évènements sont liés à mon Excel (donc OK chez moi), la macro est bien
écrite mais placée dans le module "couleurs" et pas dans le module de la
feuille. http://cjoint.com/?kfmPVinhqy
Lorsque tu veux aller dans un module (de feuille ou général), tu dois
double-cliquer sur le module. UN simple clic le sélectionne mais ne
l'ouvre pas.
Et oui, tu peux masquer la ligne pour qu'elle ne soit pas touchée :o)
@+
FxMhttp://cjoint.com/?kevTCLKEGn
Bonsoir,
Voilà la base. J'ai l'impression de te parler chinois !
Merci
"FxM" a écrit dans le message de news:Hello BiancaV,
Pourrais-tu préciser :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 ?
La macro est définie pour travailler sur les lignes 3 à 50 (donc pas
avant et pas après), sur la colonne H.et ne change rien si moi je change le groupe.
Peut-être que tes évènements ont été rendus inactifs [encore un coup de
GeeDee ça ;o) ] Pour les réactiver, macro :o)
sub reactive()
application.enableevents = true
end subJ'accepte toute solution à moins que décidement les macros ne soient
pas pour moi !
Mais si, on s'y fait :o)
@+
FxMBonjour,
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