Tâche mensuelle sur excel

Romain -  
lermite222 Messages postés 9042 Statut Contributeur -
Bonjour,

Je travail actuellement sur un tableau excel. Je souhaite intégrer à une cellule une formule qui permette d'afficher automatiquement une tâche chaque premier mercredi du mois.

Exemple : pour la feuille du mercredi 4 juin (date inscrite dans une cellule), " vérification de tel matériel" s'inscrit automatiquement dans une cellule de mon choix.

Cette fonction est-elle possible?

Merci pour votre aide
A voir également:

6 réponses

chtilou Messages postés 1704 Statut Membre 523
 
Bonjour Romain,

essaie cette formule en B1:
=SI(JOURSEM(A1;2)=3;"vérification de tel matériel";"")
étendre sur les 7 premiers jours du mois.

à ton écoute.
0
Romain
 
Merci pour ta réponse (rapide en plus!) mais ca ne me convient pas tout à fait.

Je précise un peu : je souhaiterais que la cellule affiche différentes tâches en fonction de la date : par exemple vérification de tel matériel le 1er mercredi du mois, vérification d'un autre matériel le 2ème mercredi du mois etc...

Si quelqu'un à des pistes de solutions je suis preneur.

Merci
0
chtilou Messages postés 1704 Statut Membre 523 > Romain
 
Bonjour à tous,

Regarde si ceci te convient.
0
lermite222 Messages postés 9042 Statut Contributeur 1 191 > chtilou Messages postés 1704 Statut Membre
 
Pas mal, je dirais même plus, très bien, mais un peu lourd pour quelque lignes de VBA, non ?
0
chtilou Messages postés 1704 Statut Membre 523 > lermite222 Messages postés 9042 Statut Contributeur
 
Merci,
j'avoue ne pas trop bien connaître VBA, n'avoir rien pigé aux explications ;-(, de plus comme ce sujet n'est pas le mien je ne tenais pas à intervenir en posant des questions sur comment faire (afin de ne pas embrouiller Romain).

Cordialement.
0
lermite222 Messages postés 9042 Statut Contributeur 1 191 > chtilou Messages postés 1704 Statut Membre
 
Aucun topic n'est à 'quelqu'un' et si tu veux intervenir et poser des questions c'est aucun problème, de plus ton exemple correspond tout à fait à ce qui est demander, excepté ma remarque précédante.
Cordialement.
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Bonjour,
Une idée comme une autre...
Private Sub Workbook_Open()
    If Day(Now) < 7 Then
        Select Case Weekday(Now)
        Case 1 'Lundi
        Case 2 'Mardi
        Case 3 'mercredi
            'afficher message dans la cellule
        End Select
    End If

End Sub

A+
0
Romain
 
Désolé lermite222 mais là c'est au dessus de mes compétences!

et j'ai besoin de quelques explications supplémentaires!

Merci
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Bon... Allons y,
Tu tape Alt+F11
Tu entre dans l'IDE de VBA
Sur la gauche tu a l'explorateur de projet avec tes feuilles et le classeur (ThisWorkbook)
double clic sur ThisWorkbook, dans la fenêtre qui s'ouvre tu fais un Copier/coller de la macro ci-dessus
Pour controler..
Tu remplace Stop par
MsgBox "Aujourdhui vous decez faire cela",VbOKonly,now

Résultat >>
Si la date du jour est plus petite que le 7 (de 1 à 6)
si aujourd'hui c'est mercredi
Le message s'affiche

Si tu met en dessous de 1 ce serra pour le lundi.. Etc..
Si pas asser clair revient.
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Correction..
J(ai confondu 2 topic
il n'y a pas de Stop
La ligne
MsgBox "Aujourdhui vous decez faire cela",VbOKonly,now
'ou si tu veux dans une cellule tu remplace MsgBox.. par..
Cells(Ligne,Colonne).value = "Aujourdhui vous devez faire cela"

tu doit l'ajouter juste en dessous de
'afficher message dans la cellule
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jejelefou
 
Essai ca :

1A B C D E F
2 1 1er mardi faire serveur 1
3 2 2e mardi faire serveur 2
4 3 3e mardi faire serveur 3
5 4 4e mardi faire serveur 4
6 5 5e mardi faire serveur 5
7
8
9
10
11 20/05/2008
12 faire serveur 3

avec la formule suivante en B12 : =INDEX(D2:F6;EQUIV(SI(JOURSEM(B11)=3;SI(JOUR(B11)<8;1;SI(JOUR(B11)<15;2;SI(JOUR(B11)<22;3;SI(JOUR(B11)<29;4;5))));0);D2:D6;0);3)
0
jejelefou
 
1A B C D E F
2 1 1er mardi faire serveur 1
3 2 2e mardi faire serveur 2
4 3 3e mardi faire serveur 3
5 4 4e mardi faire serveur 4
6 5 5e mardi faire serveur 5
7
8
9
10
11 20/05/2008
12 faire serveur 3

en B12 : =INDEX(D2:F6;EQUIV(SI(JOURSEM(B11)=3;SI(JOUR(B11)<8;1;SI(JOUR(B11)<15;2;SI(JOUR(B11)<22;3;SI(JOUR(B11)<29;4;5))));0);D2:D6;0);3)
0
jejelefou > jejelefou
 
d2 : 1
e2 : 1er mardi
f2 : faire serveur 1
d3 : 2
e3 : 2e mardi
f3 : faire serveur 2
d4 : 3
e4 : 3e mardi
f4 : faire serveur 3
d5 : 4
e5 : 4e mardi
f5 : faire serveur 4
d6 : 5
e6 : 5e mardi
f6 : faire serveur 5

b11 : 20/05/2008
B12 : =INDEX(D2:F6;EQUIV(SI(JOURSEM(B11)=3;SI(JOUR(B11)<8;1;SI(JOUR(B11)<15;2;SI(JOUR(B11)­<22;3;SI(JOUR(B11)<29;4;5))));0);D2:D6;0);3)

le resultat sera en B12 avec le commentaire faire serveur x correspondant au bon mardi
pour mercredi remplacer 3 par 4 dans la formule joursem(b11)=4
0
Romain > jejelefou
 
Bonjour et merci à tous pour votre contribution!

La solution de jejelefou s'adapte parfaitement à ce que je voulais.(Pour info ce document excel est une feuille de garde utilisée dans un centre de secours sapeurs-pompiers)

Je me rends compte qu'excel offre de nombreuses possibilités et vue vos compétences je vais essayer d'aller un peu plus loin...

Sur la base de la solution de jejelefou, je souhaiterais étendre la formule à plusieurs jours de la semaine : je m'explique par un exemple : la cellule affiche :

- 1er mardi du mois : tâche 1
- 2ème mardi du mois : tâche 2
- 1er jeudi du mois : tâche 3
- 2ème jeudi du mois : tâche 4 etc...

Salutations
0
chtilou Messages postés 1704 Statut Membre 523 > Romain
 
Bonjour à tous,

Romain, vu que tu as réussi à mettre en application la solution de Jejelefou, ce serait sympa si tu la postais par ici.

Cordialement.
0
jejelefou > Romain
 
en fait il te faut faire un tableau
dans mon exemple :
a1 tache du 1er dimanche du mois
a2 tache du 2eme dim
a3 tache du 3eme dim
a4
a5 tache du 5em
b1 1er lundi
b2 2emm
...
...
g1 1er samedi
...
g5 5eme samedi


en a8 tu mets la date que tu desire si tu veux la date du jour : =aujourdhui()

ensuite pour obtenir la tache du jour en a8 tu fais :
=INDEX(A1:G5;ARRONDI.SUP(JOUR(A8)/7;0);JOURSEM(A8))

si tu veux obtenir la tache du jour sans passer par A8
=INDEX(A1:G5;ARRONDI.SUP(JOUR(AUJOURDHUI())/7;0);JOURSEM(AUJOURDHUI()))

j'espere avoir été assez clair

a+
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Bonjour à everybody

Juste un petit passage dans ce fil pour faire avancer le schmilblick (ce serait sympa si Romain pouvait mettre un extrait de sa feuille sur www.cjoint.com)
pour indiquer comment déterminer le Xème mercredi du mos

si le 1° du mois et de l'année est indiqué en A1 (par ex 1/5/8)

=A1-MOD(A1-5;7)+7*1-1 donne la date du 1° mercredi *
=A1-MOD(A1-5;7)+7*2-1 donne la date du 2° mercredi *

etc.
* formule d'après Monique sur Excel-downloads
ainsi, avec un tableau intermédiaire comportant ces formules dans la colonne de gauche et le boulot dans la colonne de droite

un simple recherchev avec valeur proche =0 et une gestion d'erreur (si la date ref n'est pas dans le tableau, on n'est pas mercredi)

comme Romain fait un tableau mensuel il faudrait employer en A1 une formule du style date(année,mois,1) avec l'année dans une cellule et le numéro du mois dans une autre pour travailler efficacement

Normalement, s'il s'agit que de ce problème et sous réserve de voir le classeur, une solution par VBA est superflue;

Bonne soirée à tous
En espèrant que le demandeur réponde (ca se fait rare en ce moment)
Michel
0