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

MEFC calendrier

21 réponses
Avatar
Quaisako
Bonjour le Forum,

le code ci-dessous écrit en rouge les samedis et dimanches. (Aucun souci
pour çà). Ecrit par DJ.

Sub SamDimanche()
Set PlageDeRecherche = Range("B5:B35")
For Each madate In PlageDeRecherche
If Weekday(madate) = 7 Or Weekday(madate) = 1 Then
madate.Font.ColorIndex = 3
End If
Next madate
End Sub

Ce que je cherche à faire:
Colorier les cellules des plages "C5:C35", "E5:E35" et "G5:L35" qui
correspondent aux samedis et dimanches écrits en rouge.

Même avec l'enregistreur de macros, je sèche.

Merci d'avance à ceux qui voudront bien m'aider.

Jipé

10 réponses

1 2 3
Avatar
Francois
Bonjour le Forum,

le code ci-dessous écrit en rouge les samedis et dimanches. (Aucun souci
pour çà). Ecrit par DJ.

Sub SamDimanche()
Set PlageDeRecherche = Range("B5:B35")
For Each madate In PlageDeRecherche
If Weekday(madate) = 7 Or Weekday(madate) = 1 Then
madate.Font.ColorIndex = 3
End If
Next madate
End Sub

Ce que je cherche à faire:
Colorier les cellules des plages "C5:C35", "E5:E35" et "G5:L35" qui
correspondent aux samedis et dimanches écrits en rouge.




Bonjour,

Set PlageDeRecherche = Range("B5:B35,E5:E35,G5:L35")

--
François L

Avatar
AV
Pas besoin de macros pour une MEFC d'autant que si les données changent tu seras
obligé de ré-exécuter la macro alors que une MEFC.....

Sélection multiple de B5:C35; E5:E35; G5:L35 (touche Ctrl)
--> Format --> MEFC --> la formule est :
=JOURSEM($B5;2)>5
Format...etc..

AV
Avatar
Quaisako
Re à tous,

Entièrement d'accord avec AV, pour ce qui est de sa réflexion, seulement,
dans mon cas, il s'agit d'un fabricant de calendrier.

Je crée donc mes feuilles mensuelles à la demande. C'est pourquoi j'essaie
d'automatiser la MEFC de ces 3 plages.
===================== J'ai changé :
Set PlageDeRecherche = Range("B5:B35")
par
Set PlageDeRecherche = Range("B5:B35,C5:C35,E5:E35,G5:L35")
comme suggéré par François.
Comment puis-je repérer les cellules de la plage "A5:A35" qui représentent
les week-end?
Merci
Jipé




"AV" a écrit dans le message de news:
%233H4%
Pas besoin de macros pour une MEFC d'autant que si les données changent tu
seras
obligé de ré-exécuter la macro alors que une MEFC.....

Sélection multiple de B5:C35; E5:E35; G5:L35 (touche Ctrl)
--> Format --> MEFC --> la formule est :
=JOURSEM($B5;2)>5
Format...etc..

AV




Avatar
Francois
Re à tous,

Entièrement d'accord avec AV, pour ce qui est de sa réflexion, seulement,
dans mon cas, il s'agit d'un fabricant de calendrier.
[...]
Comment puis-je repérer les cellules de la plage "A5:A35" qui représentent
les week-end?


Re,

Pas compris ce que tu veux faire, ce coup la ... tu peux expliquer ?

PS Comme d'habitude AV a raison , je me suis contenté de répondre à la
question comme elle était posée !

--
François L

Avatar
jps
j'espère que ce n'est pas le fabricant de celui que la SNCF diffuse à ses
cllents : il plante internet explorer en beauté et on n'a plus qu'à appuyer
sur le bouton de l'UC pour redémarrer l'ordi (même plus de Ctrl Alt Suppr
possible)
en dehors du plantage que la désinstallation dudit calendrier a suffi à
supprimer, j'ai noté que, pendant le démarrage de Win, il se produit un
flash d'écran noir...
si pascale perrin nous lit, qu'elle n'hésite pas à en toucher deux mots à
louis gallois
si modeste nous lit, qu'il se garde bien de tout quolibet à mon encontre
jps

"Quaisako" a écrit dans le message de news:

Re à tous,

Entièrement d'accord avec AV, pour ce qui est de sa réflexion, seulement,
dans mon cas, il s'agit d'un fabricant de calendrier.

Je crée donc mes feuilles mensuelles à la demande. C'est pourquoi j'essaie
d'automatiser la MEFC de ces 3 plages.
===================== > J'ai changé :
Set PlageDeRecherche = Range("B5:B35")
par
Set PlageDeRecherche = Range("B5:B35,C5:C35,E5:E35,G5:L35")
comme suggéré par François.
Comment puis-je repérer les cellules de la plage "A5:A35" qui représentent
les week-end?
Merci
Jipé




"AV" a écrit dans le message de news:
%233H4%
Pas besoin de macros pour une MEFC d'autant que si les données changent
tu seras
obligé de ré-exécuter la macro alors que une MEFC.....

Sélection multiple de B5:C35; E5:E35; G5:L35 (touche Ctrl)
--> Format --> MEFC --> la formule est :
=JOURSEM($B5;2)>5
Format...etc..

AV








Avatar
Quaisako
Tout le code est dans ce fichier joint.
http://cjoint.com/?boqtcc2Rgq
Merci à tous
Jipé


"jps" a écrit dans le message de news:

j'espère que ce n'est pas le fabricant de celui que la SNCF diffuse à ses
cllents : il plante internet explorer en beauté et on n'a plus qu'à
appuyer sur le bouton de l'UC pour redémarrer l'ordi (même plus de Ctrl
Alt Suppr possible)
en dehors du plantage que la désinstallation dudit calendrier a suffi à
supprimer, j'ai noté que, pendant le démarrage de Win, il se produit un
flash d'écran noir...
si pascale perrin nous lit, qu'elle n'hésite pas à en toucher deux mots à
louis gallois
si modeste nous lit, qu'il se garde bien de tout quolibet à mon encontre
jps

"Quaisako" a écrit dans le message de news:

Re à tous,

Entièrement d'accord avec AV, pour ce qui est de sa réflexion, seulement,
dans mon cas, il s'agit d'un fabricant de calendrier.

Je crée donc mes feuilles mensuelles à la demande. C'est pourquoi
j'essaie d'automatiser la MEFC de ces 3 plages.
===================== >> J'ai changé :
Set PlageDeRecherche = Range("B5:B35")
par
Set PlageDeRecherche = Range("B5:B35,C5:C35,E5:E35,G5:L35")
comme suggéré par François.
Comment puis-je repérer les cellules de la plage "A5:A35" qui
représentent les week-end?
Merci
Jipé




"AV" a écrit dans le message de news:
%233H4%
Pas besoin de macros pour une MEFC d'autant que si les données changent
tu seras
obligé de ré-exécuter la macro alors que une MEFC.....

Sélection multiple de B5:C35; E5:E35; G5:L35 (touche Ctrl)
--> Format --> MEFC --> la formule est :
=JOURSEM($B5;2)>5
Format...etc..

AV











Avatar
AV
| Comment puis-je repérer les cellules de la plage "A5:A35" qui représentent
| les week-end?

Sub SamDimanche()
Dim D As Range
For Each D In Range("B5", [B65536].End(3))
If Weekday(D, 2) > 5 Then
D.Range("B1").Interior.ColorIndex = 35
D.Range("D1").Interior.ColorIndex = 35
D.Range("F1:K1").Interior.ColorIndex = 35
End If
Next
End Sub

AV
Avatar
Quaisako
Alain! quelques explications ; si possible.
=== End(3)) pourquoi le 3 ?

==== Pourquoi "B1" "D1" "F1:K1" et non pas "C1" "E1" et "G1:L1" ?

Jipé

"AV" a écrit dans le message de news:

| Comment puis-je repérer les cellules de la plage "A5:A35" qui
représentent
| les week-end?

Sub SamDimanche()
Dim D As Range
For Each D In Range("B5", [B65536].End(3))
If Weekday(D, 2) > 5 Then
D.Range("B1").Interior.ColorIndex = 35
D.Range("D1").Interior.ColorIndex = 35
D.Range("F1:K1").Interior.ColorIndex = 35
End If
Next
End Sub

AV




Avatar
jps
ah quaisako tu touches là du doigt une partie sensible des procs
vallonniennes....
ce (3) remplace Right ou Left ou je ne sais plus trop dans quel ordre ça
marche
mais sache que l'utilisation de cet index n'est fait que pour troubler
l'esprit des pauvres chaouches qui en ch....déjà pas mal avec des choses
pourtant plus limpides...
jps

"Quaisako" a écrit dans le message de
news:
Alain! quelques explications ; si possible.
=== End(3)) pourquoi le 3 ?

==== Pourquoi "B1" "D1" "F1:K1" et non pas "C1" "E1" et "G1:L1" ?

Jipé

"AV" a écrit dans le message de news:

| Comment puis-je repérer les cellules de la plage "A5:A35" qui
représentent
| les week-end?

Sub SamDimanche()
Dim D As Range
For Each D In Range("B5", [B65536].End(3))
If Weekday(D, 2) > 5 Then
D.Range("B1").Interior.ColorIndex = 35
D.Range("D1").Interior.ColorIndex = 35
D.Range("F1:K1").Interior.ColorIndex = 35
End If
Next
End Sub

AV








Avatar
AV
=== End(3)) pourquoi le 3 ?

Comme signalé par JPS..
Il s'agit du remplacement d'un des arguments possibles (xIToLeft,
xIToRight, xIUp, xIDown) de la propriété "End" par son index

Exemple, au lieu d'écrire
Range("A1").End(xIToLeft).Row
on peut écrire
Range("A1").End(1).Row


==== Pourquoi "B1" "D1" "F1:K1" et non pas "C1" "E1" et "G1:L1" ?

Il s'agit de références relatives à la cellule active ou à la cellule
désignée !
exemple :
Activecell.range("B1").select
Sélectionnera la cellule qui est sur la même ligne(1) et une colonne à
droite (B) en partant de la cellule active (implicitement A1)

Range("B2").Range("C3").Select
équivaut à --> sélection de range("D4").select
Eclaircissement : A partir de "B2", "D" pour la colonne signifie décalage
de 2 colonnes (colonne C) et 3 pour la ligne signifie un décalage de 2 lignes
(ligne 4)

Range("C2:C10").Range("X11:X19").Select
équivaut à --> sélection de range("Z12:Z20").select

En résumé c'est une syntaxe "équivalente" à la propriété Offset mais avec
qquelques restrictions (Ex : pas de possibilité de décalage négatif)

AV
1 2 3