Macro select plage de cell en fonction d'1 ce

lalalie3 -  
Chris 94 Messages postés 1937 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Je suis a la recherche d'une macro qui doit faire la chose suivante :

A chaque fois que tu trouves 1 dans la colonne B selectionne la plage de cellules correspondantes dans la colonne F et nomme la janvier.
ET
A chaque fois que tu trouves 1 dans la colonne B selectionne la plage de cellules correspondantes dans la colonne BT et nomme la janvier_bis.

Et ainsi de suite jusqu'a décembre

De plus j'ai egalement besoin de créer une macro pouvant effectuer une zone d'impréssion en fonction d'une date de début et une date de fin.

J'ai eu beau chercher je n'ai pas trouvé de solution(s) et je suis une vrai quiche en Macro.
Merci pour votre aide.

4 réponses

  1. lalalie3
     
    Au sercours aidez moi.
    Si je ne suis pas assez clair n'hsitez pas a me le dire ...
    0
  2. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    Je n'arrive pas à voir la finalité de ton besoin.
    Un simple filtre automatique sur B ne suffit pas ?

    Avec qcq difficultés voici une réponse : http://www.cijoint.fr/cjlink.php?file=cj201104/cijlpzJs3I.xls

    Le problème est que le nombre de cellules d'une sélection multiple nommée semble limité aux environs de 245 (sur excel 2003). Je n'ai pas trouvé dans les spécifications excel la valeur exacte, ni si c'était en nombre de cellule ou en longueur de la chaine .address (en plus .address semble ne retourner que les 250 premiers caractères...)
    Reste à voir si ça te suffira.

    eric

    PS : si B peut être triée ça change la donne...
    0
    1. lalalie3
       
      La feuille de calcule est classée automatiquement par date du 01/01/xx au 31/12/xx
      0
    2. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      oui, et ?
      Tu parlais d'une colonne B avec des nombres de 1 à 12 dedans...
      0
    3. lalalie3
       
      bonjour,
      Je voudrais vous déposer une partie du fichier sur le ci-joint mais je pense que mon proxy le refuse. Je vous le mets ce soir de chez moi.
      0
    4. lalalie3
       
      Bonjour,
      Ci-dessous le lien du document "light"
      http://www.cijoint.fr/cjlink.php?file=cj201104/cijtaNlQJ2.xls

      Merci pour votre aide.
      0
    5. Alex
       
      S'il te plaît explique en détail ce que tu veux faire et envoies-moi ton email.
      Merci!
      0
  3. lalalie3 Messages postés 45 Statut Membre
     
    Bonjour,

    Le soucis n'est pas résolu mais il ne sert a rien de le garder en cours pouvez vous le marque resolu ?

    Merci
    0
    1. Chris 94 Messages postés 1937 Date d'inscription   Statut Modérateur Dernière intervention   7 536
       
      Bonjour,

      Pourquoi signaler comme résolu ce qui ne l'est pas ? Ce serait induire en erreur les personnes intéressées qui croiraient y trouver la réponse et décourager un éventuel expert de mettre son grain de sel.

      Cordialement.
      0
    2. lalalie3 Messages postés 45 Statut Membre
       
      Par ce que lorsque que je l'ai créée je n'avais pas créée mon compte du coups je ne peut rien en faire, le supprimer ou autre.
      C'etait dans l'objectif de ne pas laisser trainer qqc qui ne sert a rien ou pas a grand chose.
      Après l'admin peut très bien le supprimer le poste ce qui me generai car l'investissement des autres n'est pas vain...
      0
    3. Chris 94 Messages postés 1937 Date d'inscription   Statut Modérateur Dernière intervention   7 536
       
      Pour l'instant, on va lui laisser sa chance ;-)
      0
  4. Alex
     
    Bonjour,

    C'est assez confu, mais d'après ce que je comprends tu devrais combiner une boucle (du type "do while .... loop") et un IF dans ta macro.

    Par exemple:

    range("b1").select
    do while activecell() <> ""
    if activecell()=1 then
    activecell().offset(0,4).range("a1").select
    zone = activecell()
    Range(zone).Name = "janvier"
    range(zone).select
    activecell().offset(1,-4).range("a1").select
    else
    activecell().offset(1,0).range("a1").select
    end if
    loop

    J'espère que ça t'aidera.
    -1