Couleur de cellules en fonction du jour

Le
François-Marie
Bonjour,

Pourriez-vous m’aider, s’il vous plaît, à trouver une solution : je
travaille sous Excel 2000.

J’ai créé un planning annuel.
J’ai un mois par feuille de calcul ; donc 12 feuilles dans mon classeur.
Les jours de chaque mois sont déterminés automatiquement par une formule.

Chaque mois comprend 4 colonnes.
La première colonne (A) comporte le nom du jour et son numéro d’ordre
(exemple : "mer 12") déterminés automatiquement par une formule.

Je voudrais que les 4 cellules des lignes dont la première cellule contient
la valeur "sam" ou "dim" suivie d’un numéro d’ordre soient d’une couleur
précise, par exemple jaune.

Existe-il une formule pour obtenir ce résultat ?
Si oui, l’une ou l’un d’entre vous pourrait-elle/il me la communiquer s’il
vous plaît.

Faut-il passer par un code sous Visual Basic ?
Si c’est le cas, pourriez-vous, svp, m’indiquer ce que je dois saisir dans
la feuille de code, de ma feuille de calcul.

Je vous remercie d’avance de votre aide.
Bonne journée.
Cordialement,
François-Marie.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
FFO
Le #19726831
Salut à toi

Je te propose ce code pour une mise à jour à la demande à mettre dans un
module

i = 2
Do while i < Range("A65535").End(xlup).Row+1
If Range("A" & i) like "*sam*" or Range("A" & i) like "*dim*" Then
Range("A" & i, "D" & i).interior.colorindex = 6
End If
i=i+1
Loop

ou celui-ci pour une mise à jour à la saisie à mettre dans le VBA de la
feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
If Target Like "*sam*" Or Target Like "*dim*" Then
Range("A" & Target.Row, "D" & Target.Row).Interior.ColorIndex = 6
End If
End If
End Sub

tu peux aussi utiliser la mise en forme conditionnelle en mettant ces
formules :
Pour la 2° ligne
1° mise en forme
=TROUVE("sam";A2;1)
2° mise en forme
=TROUVE("dim";A2;1)

pour les cellules de la colonne A/B/C/D

à répéter pour toutes les lignes par copier/coller

Celà devrait convenir

Dis moi !!!!!
Sam
Le #19731351
Bonjour,
utilises la Mise En Forme Conditionnelle :

Pour une cellule de la ligne 2
Format - Mise en forme conditionnelle ...
Dans la 1ere case de la fenêtre choisis : "la formule est "
dans la 2 eme case mets ceci : =JOURSEM($A2;2)>5

puis clique sur format pour choisir la couleur de la cellule.

Pour mettre les autres cellules sous ce format :

repositionnes toi sur la cellule, cliques sur le pinceau de la barre
d'outils et sélectionne toutes les cellules concernées.

Cordialement
Michel dit "Sam"

"François-Marie" message de news:

Bonjour,

Pourriez-vous m'aider, s'il vous plaît, à trouver une solution : je
travaille sous Excel 2000.

J'ai créé un planning annuel.
J'ai un mois par feuille de calcul ; donc 12 feuilles dans mon classeur.
Les jours de chaque mois sont déterminés automatiquement par une formule.

Chaque mois comprend 4 colonnes.
La première colonne (A) comporte le nom du jour et son numéro d'ordre
(exemple : "mer 12") déterminés automatiquement par une formule.

Je voudrais que les 4 cellules des lignes dont la première cellule
contient
la valeur "sam" ou "dim" suivie d'un numéro d'ordre soient d'une couleur
précise, par exemple jaune.

Existe-il une formule pour obtenir ce résultat ?
Si oui, l'une ou l'un d'entre vous pourrait-elle/il me la communiquer s'il
vous plaît.

Faut-il passer par un code sous Visual Basic ?
Si c'est le cas, pourriez-vous, svp, m'indiquer ce que je dois saisir dans
la feuille de code, de ma feuille de calcul.

Je vous remercie d'avance de votre aide.
Bonne journée.
Cordialement,
François-Marie.




François-Marie
Le #19731451
Bonsoir FFO,

Je te remercie pour tes propositions.
J’ai commencé par la troisième. Demain, je verrai les deux autres.

La mise en forme conditionnelle en mettant les 2 formules donne les
résultats suivants :

Les cellules comportant les valeurs "sam" et "dim" sont bien de la couleur
souhaitée.
En revanche, les trois autres cellules de la ligne restent à la couleur
d’origine proposée par excel.
J’ai essayé de jouer avec le copier/coller, mais je ne suis arrivé à rien.

Aurais-tu une idée ?

Bien cordialement,
François-Marie.




"FFO" a écrit :

Salut à toi

Je te propose ce code pour une mise à jour à la demande à mettre dans un
module

i = 2
Do while i < Range("A65535").End(xlup).Row+1
If Range("A" & i) like "*sam*" or Range("A" & i) like "*dim*" Then
Range("A" & i, "D" & i).interior.colorindex = 6
End If
i=i+1
Loop

ou celui-ci pour une mise à jour à la saisie à mettre dans le VBA de la
feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
If Target Like "*sam*" Or Target Like "*dim*" Then
Range("A" & Target.Row, "D" & Target.Row).Interior.ColorIndex = 6
End If
End If
End Sub

tu peux aussi utiliser la mise en forme conditionnelle en mettant ces
formules :
Pour la 2° ligne
1° mise en forme
=TROUVE("sam";A2;1)
2° mise en forme
=TROUVE("dim";A2;1)

pour les cellules de la colonne A/B/C/D

à répéter pour toutes les lignes par copier/coller

Celà devrait convenir

Dis moi !!!!!



FFO
Le #19732131
Rebonjours à toi

Tu dois mettre la mise en forme conditionnelle à toutes les cellules que tu
souhaites voir colorées

Avec ces formules :

1° mise en forme
=TROUVE("sam";A2;1)
2° mise en forme
=TROUVE("dim";A2;1)


Celà devrait convenir

Dis moi !!!!
jacques77
Le #19732121
"François-Marie" message de news:

Bonjour,

Pourriez-vous m’aider, s’il vous plaît, à trouver une solution : je
travaille sous Excel 2000.

J’ai créé un planning annuel.
J’ai un mois par feuille de calcul ; donc 12 feuilles dans mon classeur.
Les jours de chaque mois sont déterminés automatiquement par une formule.

Chaque mois comprend 4 colonnes.
La première colonne (A) comporte le nom du jour et son numéro d’ordre
(exemple : "mer 12") déterminés automatiquement par une formule.

Je voudrais que les 4 cellules des lignes dont la première cellule contient
la valeur "sam" ou "dim" suivie d’un numéro d’ordre soient d’une couleur
précise, par exemple jaune.

Existe-il une formule pour obtenir ce résultat ?
Si oui, l’une ou l’un d’entre vous pourrait-elle/il me la communiquer s’il
vous plaît.

Faut-il passer par un code sous Visual Basic ?
Si c’est le cas, pourriez-vous, svp, m’indiquer ce que je dois saisir dans
la feuille de code, de ma feuille de calcul.

Je vous remercie d’avance de votre aide.
Bonne journée.
Cordialement,
François-Marie.





Bonsoir,

Peut-être grâce à une mise en forme conditionnelle ? ?
Soit les dates entre A4 et A34 les cellules à coloriées dans la plage B4:E34

Sélectionner B4:E34
Format/mise en forme conditionnelle
1ere condition : la formule est : =joursem($A4;2)=6 mettre couleur de fond de
cellule jaune avec le bouton format
2eme condition : la formule est : =joursem($A4;2)=7 mettre couleur de fond de
cellule jaune avec le bouton format de la condition 2
Valider avec OK

Cordialement

Jacques
Jacquouille
Le #19732111
Bonsoir
On peut sélectionner la plage des dates. Ensuite, aller dans
Menu/Format/Mise en forme condi.
Là, choisir "La formule est" --> =joursem(a1)=7 --> Format / Motif -->
jaune--> OK
Ensuite, ajouter condition, puis idem avec formule = joursem(a1)=1 ....idem
Bonne chance.

--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.

"jacques77" 4a5658d7$0$12634$

"François-Marie" message de news:

Bonjour,

Pourriez-vous m'aider, s'il vous plaît, à trouver une solution : je
travaille sous Excel 2000.

J'ai créé un planning annuel.
J'ai un mois par feuille de calcul ; donc 12 feuilles dans mon classeur.
Les jours de chaque mois sont déterminés automatiquement par une formule.

Chaque mois comprend 4 colonnes.
La première colonne (A) comporte le nom du jour et son numéro d'ordre
(exemple : "mer 12") déterminés automatiquement par une formule.

Je voudrais que les 4 cellules des lignes dont la première cellule
contient
la valeur "sam" ou "dim" suivie d'un numéro d'ordre soient d'une couleur
précise, par exemple jaune.

Existe-il une formule pour obtenir ce résultat ?
Si oui, l'une ou l'un d'entre vous pourrait-elle/il me la communiquer s'il
vous plaît.

Faut-il passer par un code sous Visual Basic ?
Si c'est le cas, pourriez-vous, svp, m'indiquer ce que je dois saisir
dans
la feuille de code, de ma feuille de calcul.

Je vous remercie d'avance de votre aide.
Bonne journée.
Cordialement,
François-Marie.





Bonsoir,

Peut-être grâce à une mise en forme conditionnelle ? ?
Soit les dates entre A4 et A34 les cellules à coloriées dans la plage
B4:E34

Sélectionner B4:E34
Format/mise en forme conditionnelle
1ere condition : la formule est : =joursem($A4;2)=6 mettre couleur de fond
de cellule jaune avec le bouton format
2eme condition : la formule est : =joursem($A4;2)=7 mettre couleur de fond
de cellule jaune avec le bouton format de la condition 2
Valider avec OK

Cordialement

Jacques


François-Marie
Le #19797091
Bonjour FFO,

Je rentre de quelques jours de congés et je retrouve excel.

Je te remercie de ta réponse.

Je ne mettais pas correctement la mise en forme à toutes les cellules
concernées, d'où un résultat non satisfaisant.
Bien reposé, je viens d'appliquer la mise en forme à toutes les cellules :
ça marche parfaitement.
Je vais donc maintenant essayer ta seconde proposition (saisie d'un code
sous VBA) : je te tiendrai informé.

Encore grand merci pour ton aide.

Bien cordialement,
François-Marie.


"FFO" a écrit :

Rebonjours à toi

Tu dois mettre la mise en forme conditionnelle à toutes les cellules que tu
souhaites voir colorées

Avec ces formules :

1° mise en forme
=TROUVE("sam";A2;1)
2° mise en forme
=TROUVE("dim";A2;1)


Celà devrait convenir

Dis moi !!!!



François-Marie
Le #19797521
Re bonjour,

Je viens de "travailler" un long moment sur ta seconde proposition :
- j'ai donc saisi dans le VBA de la feuille :

If Target.Column = 1 Then
If Target Like "*sam*" Or Target Like "*dim*" Then
Range("A" & Target.Row, "D" & Target.Row).Interior.ColorIndex = 6
End If
End If
End Sub

- hélas cela ne donne rien : les cellules concernées conservent leur couleur
d'origine.

J'ai tourné dans tous les sens en essayant de modifier le texte du code.
Rien n'y fait.

Aurais-tu, s'il te plaît, une idée ou des conseils à me donner.

Je te remercie d'avance.
Bien cordialement,
François-Marie.


"FFO" a écrit :

Salut à toi

Je te propose ce code pour une mise à jour à la demande à mettre dans un
module

i = 2
Do while i < Range("A65535").End(xlup).Row+1
If Range("A" & i) like "*sam*" or Range("A" & i) like "*dim*" Then
Range("A" & i, "D" & i).interior.colorindex = 6
End If
i=i+1
Loop

ou celui-ci pour une mise à jour à la saisie à mettre dans le VBA de la
feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
If Target Like "*sam*" Or Target Like "*dim*" Then
Range("A" & Target.Row, "D" & Target.Row).Interior.ColorIndex = 6
End If
End If
End Sub

tu peux aussi utiliser la mise en forme conditionnelle en mettant ces
formules :
Pour la 2° ligne
1° mise en forme
=TROUVE("sam";A2;1)
2° mise en forme
=TROUVE("dim";A2;1)

pour les cellules de la colonne A/B/C/D

à répéter pour toutes les lignes par copier/coller

Celà devrait convenir

Dis moi !!!!!



FFO
Le #19797921
Rebonjour Françoise

Les congés ont ils étaient bénéfiques ????
Je vois qu'on a beaucoup d'énérgie pour apprivoiser VBA
Bravo !!!!!

Tu n'as pas entré dans le VBA de la feuille tout le code que je t'ai proposé
!!!!

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
If Target Like "*sam*" Or Target Like "*dim*" Then
Range("A" & Target.Row, "D" & Target.Row).Interior.ColorIndex = 6
End If
End If
End Sub

il manque la 1° et la dernière ligne cruciales pour son fonctionnement

Dans le document que je t'ai joint sur le lien ci-aprés je l'ai légèrement
modifié pour oter la couleur dans le cas d'une modification :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
If Target Like "*sam*" Or Target Like "*dim*" Then
Range("A" & Target.Row, "D" & Target.Row).Interior.ColorIndex = 6
Else
Range("A" & Target.Row, "D" & Target.Row).Interior.ColorIndex = xlNone
End If
End If
End Sub

récupères le et testes le en saisissant les jours en colonne A

Il est important de respecter la casse : "samedi" et "dimanche"

On peut éventuellement s'en affranchir mais une modification du code s'impose

Dis moi si tu es interessée !!!!!

Donnes moi des nouvelles !!!!!!!

http://www.cijoint.fr/cjlink.php?file=cj200907/cij20k5Uct.xls
Publicité
Poster une réponse
Anonyme