OVH Cloud OVH Cloud

Décaler

6 réponses
Avatar
Jacquouille
Bonjour
Je désire simplifier le code suivant, issu de chez Brico car je n'ai rien
trouvé de mieux.
En colA, des dates.
Le test suivant se fait si la date = samedi ou dimanche, colorier la cellule
en bleu.
Je voudrais étendre ce coloriage non pas à la ligne entière, mais aux colB,
colC, colD et colE.
--------
derL = Plage("A4").Fin(xlVersBas).Ligne

Pour Chaque c Dans Plage("A4:E" & derL
Si JourSem(c) = 1 Ou JourSem(c) = 7
Alors c.Intérieur.IndexCouleur = 33
c.Décaler(0; 1).Intérieur.IndexCouleur = 33
c.Décaler(0; 2).Intérieur.IndexCouleur = 33
c.Décaler(0; 3).Intérieur.IndexCouleur = 33
c.Décaler(0; 4).Intérieur.IndexCouleur = 33
Fin Si
Suivant
---------------------
Vous aurez compris qu'il cause en Excel 5, made in Camembert.
Je vous remercie par avance du temps consacré.
Bonne fin de semaine.
--
Jacquouille conseille : http://www.excelabo.net

NoSpam_j.thiernesse@skynet.be

6 réponses

Avatar
isabelle
hello Jacquouille,

je ne suis pas certaine de la syntaxe Pour i = 0 a 4 j'espère que tu
pourras corrigé si nécessaire.

Pour Chaque c Dans Plage("A4:E" & derL
Si JourSem(c) = 1 Ou JourSem(c) = 7
Alors
Pour i = 0 a 4
c.Décaler(0; i).Intérieur.IndexCouleur = 33
Suivant
Fin Si
Suivant

isabelle


Bonjour
Je désire simplifier le code suivant, issu de chez Brico car je n'ai rien
trouvé de mieux.
En colA, des dates.
Le test suivant se fait si la date = samedi ou dimanche, colorier la cellule
en bleu.
Je voudrais étendre ce coloriage non pas à la ligne entière, mais aux colB,
colC, colD et colE.
--------
derL = Plage("A4").Fin(xlVersBas).Ligne

Pour Chaque c Dans Plage("A4:E" & derL
Si JourSem(c) = 1 Ou JourSem(c) = 7
Alors c.Intérieur.IndexCouleur = 33
c.Décaler(0; 1).Intérieur.IndexCouleur = 33
c.Décaler(0; 2).Intérieur.IndexCouleur = 33
c.Décaler(0; 3).Intérieur.IndexCouleur = 33
c.Décaler(0; 4).Intérieur.IndexCouleur = 33
Fin Si
Suivant
---------------------
Vous aurez compris qu'il cause en Excel 5, made in Camembert.
Je vous remercie par avance du temps consacré.
Bonne fin de semaine.
--
Jacquouille conseille : http://www.excelabo.net




Avatar
AV
Ave Secrétaire,

Essaye ça :

Proc zzzz()
derL = Plage("A4").Fin(xlVersBas).Ligne
Pour Chaque c Dans Plage("A4:A" & derL)
Si JourSem(c) = 1 Ou JourSem(c) = 7 Alors
c.Plage("A1:E1").Intérieur.IndexCouleur = 33
Fin Si
Suivant
Fin Proc

AV
Avatar
Jacquouille
Ave Président
C'est marrant et ça fonctionne bien.
jamais, je n'aurais pensé à ton truc [ c.Plage("A1:E1"). ]
et que le n° de ligne varierait avec c ..... C'est beau
Mille mercis
et bon WE
jacques
--
Jacquouille conseille : http://www.excelabo.net


"AV" wrote in message
news:
Ave Secrétaire,

Essaye ça :

Proc zzzz()
derL = Plage("A4").Fin(xlVersBas).Ligne
Pour Chaque c Dans Plage("A4:A" & derL)
Si JourSem(c) = 1 Ou JourSem(c) = 7 Alors
c.Plage("A1:E1").Intérieur.IndexCouleur = 33
Fin Si
Suivant
Fin Proc

AV




Avatar
Jacquouille
Bonjour Isabelle
J'avais commencé un truc de ce genre, mais je restais coincé avec le i=0.
Merci pour cet éclaircissement
Bonne journée
Jacques.

--
Jacquouille conseille : http://www.excelabo.net


"isabelle" wrote in message
news:
hello Jacquouille,

je ne suis pas certaine de la syntaxe Pour i = 0 a 4 j'espère que tu
pourras corrigé si nécessaire.

Pour Chaque c Dans Plage("A4:E" & derL
Si JourSem(c) = 1 Ou JourSem(c) = 7
Alors
Pour i = 0 a 4
c.Décaler(0; i).Intérieur.IndexCouleur = 33
Suivant
Fin Si
Suivant

isabelle


Bonjour
Je désire simplifier le code suivant, issu de chez Brico car je n'ai
rien


trouvé de mieux.
En colA, des dates.
Le test suivant se fait si la date = samedi ou dimanche, colorier la
cellule


en bleu.
Je voudrais étendre ce coloriage non pas à la ligne entière, mais aux
colB,


colC, colD et colE.
--------
derL = Plage("A4").Fin(xlVersBas).Ligne

Pour Chaque c Dans Plage("A4:E" & derL
Si JourSem(c) = 1 Ou JourSem(c) = 7
Alors c.Intérieur.IndexCouleur = 33
c.Décaler(0; 1).Intérieur.IndexCouleur = 33
c.Décaler(0; 2).Intérieur.IndexCouleur = 33
c.Décaler(0; 3).Intérieur.IndexCouleur = 33
c.Décaler(0; 4).Intérieur.IndexCouleur = 33
Fin Si
Suivant
---------------------
Vous aurez compris qu'il cause en Excel 5, made in Camembert.
Je vous remercie par avance du temps consacré.
Bonne fin de semaine.
--
Jacquouille conseille : http://www.excelabo.net






Avatar
AV
jamais, je n'aurais pensé à ton truc [ c.Plage("A1:E1"). ]
et que le n° de ligne varierait avec c ..... C'est beau


Il s'agit d'utilisation des références relatives (à la cellule de départ)

Exemples :
[B1].Range("A1").Select
--> sélection de B1
[B1].Range("D1").Select
--> sélection de E1
[D1].Range("C1:D1").Select
--> sélection de la plage F1:G1
[B3].Range("C6:E6").Select
--> sélection de la plage D8:F8

Etc...

Ca vaut bien qques Offset ou Resize !

AV

Avatar
Jacquouille
Je dirais même plus : Il est surprenant qu'il n'y ait point de contradiction
entre la ligne : [ Pour Chaque c Dans Plage("A4:A" & derL) ] où cela
commence à A4 et la ligne [ c.Plage("A1:E1"). ] où on parle de A1 .
décidément, comme Gabin, plus j'avance, moins je sais.
Re bon WE et re-re mercis
Jacques
--
Jacquouille conseille : http://www.excelabo.net


"Jacquouille" wrote in message
news:
Ave Président
C'est marrant et ça fonctionne bien.
jamais, je n'aurais pensé à ton truc [ c.Plage("A1:E1"). ]
et que le n° de ligne varierait avec c ..... C'est beau
Mille mercis
et bon WE
jacques
--
Jacquouille conseille : http://www.excelabo.net


"AV" wrote in message
news:
Ave Secrétaire,

Essaye ça :

Proc zzzz()
derL = Plage("A4").Fin(xlVersBas).Ligne
Pour Chaque c Dans Plage("A4:A" & derL)
Si JourSem(c) = 1 Ou JourSem(c) = 7 Alors
c.Plage("A1:E1").Intérieur.IndexCouleur = 33
Fin Si
Suivant
Fin Proc

AV