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
Configuration: Windows XP
Internet Explorer 6.0

6 réponses

  1. 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
    1. 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
      1. chtilou Messages postés 1704 Statut Membre 523 > Romain
         
        Bonjour à tous,

        Regarde si ceci te convient.
        0
      2. lermite222 Messages postés 9042 Statut Contributeur 1 199 > 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
      3. 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
      4. lermite222 Messages postés 9042 Statut Contributeur 1 199 > 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
  2. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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
  3. 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
  4. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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
    1. lermite222 Messages postés 9042 Statut Contributeur 1 199
       
      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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. 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
    1. 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
    2. 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
    3. 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
    4. 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
    5. 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
  7. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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