Validation liste déroulante Excel [Résolu/Fermé]

Signaler
Messages postés
7
Date d'inscription
lundi 26 septembre 2016
Statut
Membre
Dernière intervention
26 septembre 2016
-
Messages postés
7
Date d'inscription
lundi 26 septembre 2016
Statut
Membre
Dernière intervention
26 septembre 2016
-
Bonjour,
J'utillise férquemment des listes déroulantes simples intégrées dans Excel (pas de VBA donc).
Pour la plupart, j'utilise aussi la fonction "Validation" pour empêcher la saisie erronée.
ça marche très bien du moment que l'utilisateur "TAPE" une valeur dans la cellule (si c'est faux, ça bloque). Par contre, ça ne fonctionne plus si l'utilisateur "TIRE" la liste avec la propriété d'incrémentation automatique d'Excel.
Exemple: ma liste contient Toto01, Toto02, Toto03, Titi01, Titi02, Titi03, Titi04, Tutu01, Tutu02.
Si je tape Toto04, ou Titi05 etc... j'aurai le message d'erreur que j'ai indiqué sous validation (+blocage si ARRET), puisqu'ils n'appartiennent pas à ma liste. MAIS si Toto02, Tot03 sont déjà rentrés (en A1, A2 par ex) et que je tire la formule avec la souris en A3, A4 etc..., eh bien je me retrouve avec Toto04, Toto05 .... parfaitement acceptés (bien que toutes les cellules de la colonne A soient concernées par la validation, avec "appliquer ces modif. aux cellules de paramètres identiques").
Comment étendre le processus de contrôle non seulement aux données que je tape, mais aussi à celles qui sont rentrés par extension automatique des cellules?
Faut-il passer par VBA ou un contrôles activeX?
Merci

4 réponses

Messages postés
17300
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
13 janvier 2021
4 434
Re,

alors si tu as tes plages nommées exemple toto1, toto2 etc

si tu crées ta première liste de validation en H3 par exemple si non il faudra adapter la formule
la formule pour appeler ta liste de validation est =INDIRECT("toto"&LIGNE()-2)
ensuite il faut parler le même langage et "la petite croix en bas à droite d'une cellule pour générer une suite logique" s'appelle l'incrémentation
donc tu incrémentes ta formule vers le bas et la validation fera référence sur la deuxième cellule à toto2 puis toto3 etc ...
A+
Mike-31

Pas savoir n'est pas un échec, l'échec est le refus d'apprendre.
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 63550 internautes nous ont dit merci ce mois-ci

Messages postés
7
Date d'inscription
lundi 26 septembre 2016
Statut
Membre
Dernière intervention
26 septembre 2016

Merci, mais je ne veux pas utiliser une formule pour rentrer mes données. En fait, la "liste" fait référence à une grande base de données "clients", chaque enregistrement étant identifié en 1ere colonne par une code unique (nom client et 2-3 chiffres :le fameux Toto01...etc).
Ensuite, le fichier est envoyé à différentes personnes qui chacune va fournir de nouvelles informations en lien avec ces clients. Le seul dénominateur commun est son nom unique (ils ne s'emcombrent pas de toutes les autres infos, non nécessaires à leur niveau). Si cette personne rentre par erreur un code-client inexistant, je ne pourrai pas ensuite récupérer les infos nécessaires et les compiler à ma base de donnée initiale (j'ai plein de formules de type recherchev...) qui vont créer différents tableaux spécifiques.
Le problème est que les personnes à qui j'envoie le fichier utilisent souvent des codes-clients qui se suivent, et pour éviter de tout taper, utilisent l'incrémentation automatique...
Ils n'ont donc pas l'alerte qui les prévient que ce code n'existe pas dans ma base de données
Messages postés
25755
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
19 janvier 2021
5 716
Bonjour
pour faire simple, vous pouvez peut être signaler les codes, inexistants par une alarme mise en forme conditionnelle, formatant par ex la, cellule en rouge si le code n'existe pas:
MFC par formule, avec le champ des références nommés:
foprmule:
=NB.SI(nom du champ;adresse cell)=0
crdlmnt
Messages postés
7
Date d'inscription
lundi 26 septembre 2016
Statut
Membre
Dernière intervention
26 septembre 2016
>
Messages postés
25755
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
19 janvier 2021

Super. C'est pour l'instant la solution la plus facile!! Je n'avais pas pensé à combiner la validation avec la mise en forme conditionnelle..
Merci
Messages postés
7
Date d'inscription
lundi 26 septembre 2016
Statut
Membre
Dernière intervention
26 septembre 2016
>
Messages postés
25755
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
19 janvier 2021

Je viens de tester sur mon fichier exemple-bidon
Ca marche!
Il faut juste que j'informe les utilisateurs que si la cellule vire au rouge, il y a un souci avec le code d'entrée (mais ça doit être assez "évident", non ?)
crdmnt ;-)
Messages postés
53113
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
19 janvier 2021
15 088
Bonjour clenite.

C'est normal : La validation des données est un contrôle des saisies de données au clavier. Pour tout autre mode d'entrée de données, elle est inopérante.
Tu dois spécifier aux utilisateurs de ton fichier qu'il est strictement interdit "pour éviter de tout taper,
qu'ils
utilisent l'incrémentation automatique
".
Ou alors tu définis un autre type de codage, par exemple 01Toto au lieu de Toto01 ... c'est encore le mieux !

Cordialement.
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 63550 internautes nous ont dit merci ce mois-ci

Messages postés
7
Date d'inscription
lundi 26 septembre 2016
Statut
Membre
Dernière intervention
26 septembre 2016

Merci.
Au moins c'est clair.
Le truc des codages, ce n'est pas moi qui l'ai inventé. Il existait bien avant que je ne gère ce type de base de données (j'ai déjà modifié les 1, 2,3 en 01, 02, 03... pour que lors d'un tri croissant les 10, 11, 12....ne viennent pas entre le 1 et le 2! c'était déjà une "révolution"). Les codes reviennent d'année en année, difficile
a) de changer les mentalités
b) de comparer les données sur différentes années avec un code différent (bon je peux faire des recherches de strings et inverser nom/chiffre... (du style DROITE, REMPLACER etc...). encore faisable....
Ton idée d'inverser les codes est sûrement à long temre LA solution. Pour l'instant, je pense que l'astuce de Vaucluse fera l'affaire. Si la cellule vire au rouge, "ils" comprendront bien que qchose cloche! :-)
Messages postés
17300
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
13 janvier 2021
4 434
Bonjour,

pour ma part je n'ai pas tout compris, crée un exemple de fichier anonymisé avec un exemple de ce qui se passe ou ce que tu souhaites faire et joint le à la discussion
1) Clic sur ce lien https://www.cjoint.com/
2) Clic sur le bouton Parcourir pour sélectionner ton fichier
3) Clic sur le bouton Créer le lien en bas de la page
4) Au bout de quelques secondes en haut de la page en bleu souligné un lien sera généré, tu le sélectionnes et tu le copies dans une réponse
Messages postés
11
Date d'inscription
samedi 24 septembre 2016
Statut
Membre
Dernière intervention
1 octobre 2016

Ce qu'elle veut dire je pense, c'est que le contrôle ne se fait plus si au lieu de rentrer l'information manuellement, elle utilise la petite croix en bas à droite d'une cellule pour générer une suite logique (toto1, toto2, toto3... Janvier, Février, Mars...)

Bon je n'ai pas la solution pour autant, désolé :x
Messages postés
7
Date d'inscription
lundi 26 septembre 2016
Statut
Membre
Dernière intervention
26 septembre 2016

Exactement!!, Kunkero85 a compris la question
Désolée, je n'ai pas pu attacher le fichier. Le firewall de mon entreprise ne me permet pas d'accéder à des clouds. Je le ferai ce soir depuis mon ordi privé!
Messages postés
7
Date d'inscription
lundi 26 septembre 2016
Statut
Membre
Dernière intervention
26 septembre 2016

Messages postés
3334
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
509
Bonjour à tous,

Tu peux effectuer un contrôle de la valeur des cellules modifiées et effacer celles qui n'appartiennent pas à la liste.
Pour cela, j'ai utilisé la procédure évènementielle Worksheet.Change.
Pour la visualiser, clic droit sur l'onglet "Feuil1" puis Visualiser le code.
https://www.cjoint.com/c/FIAlQgytjIp

A+