Macro pour validation des données en série

Bonjour à tous

Voici plusieurs jours que je cherche, mais toujours rien trouvé. Alors je m'adresse à vous tous.

Je cherche à créer une macro qui va me servir à insérer dans mon tableau, des cellules de validation des données (listes déroulantes).

le tableau contient: + de 730 lignes * 6 colonnes.; soit un total de plus de 4380 validation des données à créer.

Le big problème c'est que chaque validation à créer, fait référence à une plage de donnée nommée précise à chaque fois.

Pour faire simple: j'ai 4380 cellules à transformer en "validation des données" (liste déroulante); chacune devant faire référence à un nom défini différent (gestionnaire de noms).

La question que je me pose: comment changer à chaque fois la source des données? j'ai cette formule dans SOURCES: =DECALER(L_02_2;0;0;NBVAL(L_02_2)-NB.SI(L_02_2;"")).

Je ne peux pas joindre le fichier "TROP VOLUMINEUX" qu'il me dit.

Merci pour votre aide

bonjour,

explique-nous comment le nom L_02_2 change en fonction de la cellule dans laquelle il est utilisé, (L, 02,2 varient-ils en fonction de la ligne ou de la colonne ? si oui, comment ?)

ai-je bien compris que tu as 2 demandes différentes ?

1) creation des noms de plage

2) utilisation des plages pour la validation

Merci h2so4 de te soucier de mon problème. Si vite!

En fait, j'ai nommé des plages de cellules sous la forme de ces noms: L_01_1 ceux qui signifie pour moi: L_ = Liste; 01_ = jours n°1 de l'annee; 1 = liste n° 1. A savoir qu'il y a 365 jours composés de 6 listes. Soit 365 * 6 = 2190 listes à créer.

Pourquoi créer ces listes? Car pour chaque jour de l'anneée, j'ai 6 créneaux horaires à remplir en fonction des dispos renseignés par les participants. Pour chaque creneau, 2 participants.

Grâce à une macro, j'arrive à nommer asses facilement mes 2200 listes. J'ai presque fini.

Ce que je ne peux pas faire, c'est de modifier pour chaque validation créée, la source qui change à chaque fois. Car il n'y a que 2 cellules dans tout mon tableau annuel qui doivent correspondre à une plage de nommée.

Désolé, c'est compliquer à expliquer.

Je cherche a créer un planning qui gère automatiquement les interventions des participants en fonction de leurs disposnibilites.

Merci pour ton aide

Bonjour,

tu pourrais utiliser la fonction indirect pour indiquer la plage à utiliser en fonction du jour dans l'année et d'une des six listes.

tu peux remplacer tous tes L_xx_y dans tes formules par

INDIRECT("L_" & TEXTE(JOUR(date);"0#") & "_" & liste)

où date et liste sont fonction de la cellule dans laquelle se trouve la formule.

mais je pense qu'il vaudrait mieux passer par une validation vba.

En effet, toutes les formules qui contiennent la fonction indirect sont réévaluées à chaque modification du classeur et comme tu en auras beaucoup, cela risque de ramer sec...

Merci pour ta solution.

La macro que je pensais construire me servirais qu'une seule fois pour créer mes listes de validation. Apres quoi elle ne me sera plus utile.

Je vais essayé de réduire la taille de mon fichier pour pouvoir le poster. Ce sera plus simple.

La formule que tu me propose est à introduire dans la macro ou bien dans validation des données SOURCE:×××××××××

A bientôt

Bonjour,

je crois que ce serait en effet plus simple si tu pouvais joindre un fichier exemple. Je ne suis pas sûr d'avoir bien compris ce que tu cherches à faire.

Je vais tenter de le faire cet apres-midi

VOICI LE FICHIER

25planning-test.xlsm (811.56 Ko)

Bonjour,

une proposition, via une macro événementielle qui crée la liste de validation au moment de la sélection de la cellule. plus besoin de plage nommée, je les ai supprimées,.Plus besoin de la feuille récap des disponibilités que j'ai supprimée aussi.

41planning-test.xlsm (137.95 Ko)

Si j'ai bien compris,

Rien qu'en cliquant sur une des cellules du tableau, la liste appropriée apparaîtra? Celle des personnes qui peuvent être présent tel jour, à tel créneau?

Se serait génial!

J'ai testé. mais j'ai un message d'erreur qui apparait dès que je clique sur une cellule:

2erreur 1erreur

Bonjour,

il y a en effet un bug lorsqu'il n'y a personne de disponible.

nouvelle version

53planning-test.xlsm (138.11 Ko)

Je viens de comprendre.

La MsgBox de débogage n'apparait que lorsque je clique sur une cellule dont aucune dispos n'est enregistrée. Seulement alors un message d'erreur survient.

Si tu peux remédier à ce "petit" problème en modifiant la macro, du genre: si pas de données à afficher, ne rien faire... se serait excellent.

Merci infiniment pour ton excellent travail. Je gagne des heures de clavier et de souris...

Désolé, tu ais trop rapide. je n'avais pas vue ton message.

Sa marche super bien ton code. Merci infiniment.

J'ai copié la macro dans mon fichier d'origine; ça marche nickel.

Merci tout plein!!!

A la prochaine pour de nouvelles aventures..

J'en ai un paquet.....

Rechercher des sujets similaires à "macro validation donnees serie"