Masquer des colonnes en fonction d'une date

hervé débutant -  
 Hervé débutant -
Bonjour,

J'ai un tableau dans excel qui reprend en colonne les dates du trimestre en cours (janvier à Mars) sous le format date "jeu. 11 févr.".

Je voudrais
1) par défaut afficher la quinzaine en cours (exactement + 1 col avant et 1 col après) selon la date du jour donc masquer les autres colonnes
2) pouvoir choisir la quinzaine à afficher (+ 1 col avant et 1 col après)

Je suis totalement débutant en VBA

Merci d'avance
Configuration: Windows Vista Internet Explorer 7.0
Excel 2003

17 réponses

  1. Le Pingou Messages postés 12276 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     
    Bonjour,
    Ci-joint un exemple : http://www.cijoint.fr/cjlink.php?file=cj201002/cij8qkE2n8.xls
    Pour la suite pouvez-vous préciser se qu'il faut comprendre par : quinzaine en cours (exactement + 1 col avant et 1 col après)
    Petit exemple serait le bienvenu !
    0
  2. Hervé débutant
     
    Bonjour et merci pour la réponse.

    et merci pour la réponse très rapide.

    Afin de mieux m'expliquer je joins un fichier exemple

    https://www.cjoint.com/?cibiZIIrEX

    Je voudrais qu'à l'ouverture (et à ce jour) le fichier soit tel que ce modèle avec les colonnes masquées. La quinzaine affichée étant bien sur fonction de la date du jour.

    Mais je voudrais également une macro permettant de visualiser la quinzaine (+ 1 colonne avant et après) correspondant à une date demandée en paramètre.

    J'espère que c'est un peu plus clair.

    Merci d'avance
    0
  3. Le Pingou Messages postés 12276 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     
    Bonjour,
    Pouvez-vous préciser:
    Nous sommes le 8 février 20010 ----> qu'elles sont les dates début et fin de quinzaine ?
    Dito pour le 19 février -----> ? ?
    Merci.
    0
  4. Hervé débutant
     
    Re-bonjour,

    et désolé le modèle envoyé n'était pas à la bonne quinzaine.

    Nous sommes le 8 février 20010 ----> 31/1 au 13/2
    Dito pour le 19 février -----> 14/2 au 27/2

    Je joins des copies d'écran https://www.cjoint.com/?cilNLUFQbY
    1 pour la quinzaine en cours au 8 février (soit colonnes visibles du 31/1 au 13/2 (+la colonne A toujours visible + la colonne qui précède le 31/1 appelée Q2 + la colonne qui suit la colonne CC)
    1 pour la quinzaine qui sera valable à partir du 14/2

    Merci de votre patience et de votre gentillesse à me dépanner
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Le Pingou Messages postés 12276 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     
    Bonsoir,
    Je suis tombé sur un os avec les dates qui se répètent dans la ligne 2; ainsi que les cellules non date (cause absence).
    Alors il faudra attendre demain après-midi.
    Merci de votre patience.
    0
  7. Hervé débutant
     
    OK aucun problème.
    De toutes façons sans votre aide pour moi c'est impossible.

    A demain donc
    0
  8. Le Pingou Messages postés 12276 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     
    Bonjour,
    Je vous laisse voir si la première partie est dans le bon sens : https://www.cjoint.com/?cjkDE2BQX4
    Suite selon votre réponse.
    0
  9. Hervé débutant
     
    Bonjour,

    Désolé mais en exécutant les macros à partir des boutons j'ai des erreurs (voir https://www.cjoint.com/?cjlSgrMDYU

    C'est peut-être parce que là je l'ai exécuté à partir d'Open office et non excel ???
    En final ce fichier sera bien exploité en Excel 2003 mais je ne l'ai pas sur ce poste. Pensez-vous que cela puisse venir de là ?
    0
  10. Le Pingou Messages postés 12276 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     
    Bonjour ,
    Les macros excel sont écrites en VBA qui est un langage propriétaire MS et qui ne fonctionne pas sous openoffice.
    0
  11. Hervé débutant
     
    OK pas de pb j'essaye prochainement sous excel et je vous informe dès que possible

    Merci
    0
  12. Le Pingou Messages postés 12276 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     
    Bonjour,
    Merci, vous prendrez cette version avec la possibilité de choisir une date ( attention respecter la limite proposée dans la fenêtre de choix ! ) : https://www.cjoint.com/?cjoWt80ExC
    0
  13. Hervé débutant
     
    Merci de vos réponses.

    Afin de ne pas perdre trop de temps, je l'ai fait exécuter dans l'environnement ou il devra fonctionner
    (excel 2003) et la macro "tout visible" fonctionne parfaitement. Par contre pour les 2 autres j'ai le msg
    "Propriétés ou Méthode non gérée par cet objet"
    et si sur ce msg on clique sur débogage c'est la ligne suivante qui est surlignée en jaune

    nuse = WorksheetFunction.WeekNum(Date, 1)

    Est-ce une fonction non supportée par Excel 2003 ?

    Je n'ai malheureusement pas de copie d'écran (ou de trop mauvaise qualité pour vous les faire parvenir) mais j'espère vous avoir donné les informations nécessaires

    Merci encore pour tout le travail fourni
    0
  14. Le Pingou Messages postés 12276 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     
    Bonjour,
    Désolé, effectivement la fonction [WeekNum()] n'est pas disponible en version 2003.
    J'ai adapté les procédures en conséquence, j'espère que se sera en ordre cette fois.
    https://www.cjoint.com/?cjvWjqaPtz
    0
  15. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonsoir tout le monde,

    Pas sûr que numweek() existe en vba. No.semaine() n'est pas une fonction native d'excel mais est ajoutée avec la macro complémentaire 'utilitaire d'analyse'.
    Comme de toute façon elle retourne souvent un n° erroné pour nous (n° de semaine américain et chez nous c'est la définition ISO qui est utilisée) ce n'est pas grave...
    En vba mieux vaut utiliser nuse=DatePart("ww", d, 2, 2) (pour un début de semaine le lundi) qui retourner un n° correct.

    eric
    0
    1. Le Pingou Messages postés 12276 Date d'inscription   Statut Contributeur Dernière intervention   1 478
       
      Bonjour eriiic,
      Merci, j'ai déjà corrigé le code en utilisant [DatePart()]
      Le [NumWeek()] existe sur la version 2007 comme [WorksheetFunction].
      A une prochaine.
      0
      1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281 > Le Pingou Messages postés 12276 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Ca m'étonnait aussi que tu n'aies pas testé ton fichier... :-)
        A+
        0
  16. Hervé débutant
     
    Bonsoir

    et merci à Jean Pierre qui est vraiment incollable en macros Excel.

    Je vais demander à vérifier les macros dès que possible (en principe demain matin) et vous informe du résultat.

    Dans tous les cas merci pour votre disponibilité

    Régis
    0
  17. Le Pingou Messages postés 12276 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     
    Bonjour,
    Merci, je viens juste de découvrir une anomalie au niveau du résultat lors du choix de la date.
    La recherche pour moi se fera demain.
    0
  18. Le Pingou Messages postés 12276 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     
    Bonjour,
    J'ai corrigé l'anomalie constatée hier soir, tout semble correct.
    https://www.cjoint.com/?ckjPViHXl3
    Au passage j'ai constaté que les formules dans les colonnes de titre Q1 ....Q2...ect. ne sont pas correcte, en tout cas sur l'édition mise à disposition !
    0
    1. Hervé débutant
       
      Bonsoir Jean-Pierre

      et merci beaucoup pour les macros qui fonctionnent parfaitement sous excel 2003. J'ai un peu tardé à vous répondre car comme je n'ai pas excel j'ai du le faire tester dans ce qui sera son environnement et la personne n'a pas pu le faire auparavant.

      Pour les formules Q1 Q2 ... effectivement il y avait une erreur mais ce fichier n'était qu'un modèle pour comprendre le problème.

      Encore merci
      Régis
      0