Macro select plage de cell en fonction d'1 ce

Fermé
lalalie3 - 6 avril 2011 à 10:20
Chris 94 Messages postés 50978 Date d'inscription mardi 8 janvier 2008 Statut Modérateur Dernière intervention 17 février 2023 - 5 mai 2011 à 17:56
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.
A voir également:

4 réponses

Au sercours aidez moi.
Si je ne suis pas assez clair n'hsitez pas a me le dire ...
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
Modifié par eriiic le 12/04/2011 à 08:52
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
La feuille de calcule est classée automatiquement par date du 01/01/xx au 31/12/xx
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
12 avril 2011 à 16:39
oui, et ?
Tu parlais d'une colonne B avec des nombres de 1 à 12 dedans...
0
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
Bonjour,
Ci-dessous le lien du document "light"
http://www.cijoint.fr/cjlink.php?file=cj201104/cijtaNlQJ2.xls

Merci pour votre aide.
0
S'il te plaît explique en détail ce que tu veux faire et envoies-moi ton email.
Merci!
0
lalalie3 Messages postés 44 Date d'inscription jeudi 14 avril 2011 Statut Membre Dernière intervention 5 août 2011
5 mai 2011 à 09:48
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
Chris 94 Messages postés 50978 Date d'inscription mardi 8 janvier 2008 Statut Modérateur Dernière intervention 17 février 2023 7 325
5 mai 2011 à 12:30
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
lalalie3 Messages postés 44 Date d'inscription jeudi 14 avril 2011 Statut Membre Dernière intervention 5 août 2011
5 mai 2011 à 17:06
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
Chris 94 Messages postés 50978 Date d'inscription mardi 8 janvier 2008 Statut Modérateur Dernière intervention 17 février 2023 7 325
5 mai 2011 à 17:56
Pour l'instant, on va lui laisser sa chance ;-)
0
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