Contrôle de la cellule active

campagne72 Messages postés 26 Date d'inscription dimanche 5 février 2012 Statut Membre Dernière intervention 4 novembre 2013 - 4 nov. 2013 à 20:02
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 5 nov. 2013 à 06:53
Bonjour à tous
voici mon problème dans Excel j'ai une feuille "Classement" ou en ("A2:E102") je rentre des numéros de dossard par ordre d'arrivée devant un podium
et dans la feuille "Inscription" j'ai nommé par un Nom "Dossard" le Numéro de dossard de chaque coureur.
Pour éviter les erreurs de frappes au moment de la saisie des dossards dans la feuille "Classement" est-t-il possible que la cellule active soit contrôler.
ex: si je tape 20 et que dans la zone "Nom" 20 n'existe pas, j'ai un message " ce numéro n'est pas attribué" et efface la valeur dans la cellule.
je vous remercie d'avance pour mon association

3 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
4 nov. 2013 à 20:22
la voilà, la discussion dont il s'agit :
http://codes-sources.commentcamarche.net/forum/affich-10008953-classement-automatique-selon-ordre-d-arrivee
j'espère que tu sauras la lire et (contrairement au demandeur de la dite discussion) exploiter ce que j'y ai dit.
1
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
4 nov. 2013 à 20:16
Bonjour,
je ne sais pas pourquoi, mais j'ai la très nette impression d'avoir déjà traité un problème similaire il y a peu de temps.
Fais une recherche sur ce forum. Tu devrais pouvoir retrouver la discussion dont il s'agit.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 5/11/2013 à 07:22
Reste que si, contrairement à l'autre demandeur, ton but n'est en aucune manière autre que celui que tu as exposé (seule vérification de l'existence d'un dossard portant un numéro saisi et rien d'autre), la démarche peut alors être limitée à ceci :
- pour les seules cellules de saisie concernées (utilisation du paramètre Target dans l'évènement WorkSheet_Change) :
---- utilisation de WorkSheetFunction.CountIf pour vérifier l'existence du numéro saisi (sur ta feuille Inscription). Cette fonction retourne 0 si aucune correspondance

J'appelle toutefois par ailleurs ton attention sur le fait que tu ne sembles pas avoir prévu trois autres cas possibles de saisie à corriger :
-- cas 1 : le numéro saisi l'a déjà été (saisi). Ce cas est également à traiter par utilisation de la fonction WorkSheetFunction.CountIf, appliquée aux saisies précédentes.
-- cas 2 : l'utilisateur "écrase" une saisie déjà effectuée
-- cas 3 : l"utilisateur saisit un dossard mais en laissant une ligne blanche au dessus (ligne qu'il pourrait ensuite saisir avec un n° de dossard pourtant arrivé plus tard !)

Le cas 2 et 3 peuvent être évités en ne permettant pas à l'utilisateur de saisir directement sur la feuille, mais via un inputbox dont la valeur saisie sera à copier (par ton code) uniquement à la ligne suivant la dernière remplie si non dénoncée comme non valable (dossard inexistant ou déjà saisi)

Je sais que tu as posé également ta question "ailleurs" et crains que l'on s'y contente de ne répondre qu'à cette question, avec donc certains risques non négligeables. Je te les signale donc.

Comme tu peux le constater, il s'agirait alors non d'une seule difficulté, mais véritablement d'un ensemble (une appli, finalement)
Voilà voilà ...
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
0
Rejoignez-nous