Créer un message d'erreur

[Résolu/Fermé]
Signaler
Messages postés
576
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
18 septembre 2021
-
Messages postés
54716
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
25 septembre 2021
-
Bonjour,

Dans un classeur Excel j'utilise la fonction suivante :

=SI($E$28="";"";RECHERCHEV($E$28;Données!$D$1:Données!$I$5093;2;FAUX))

pour récuperer la valeur de la deuxieme colonne de la feuille "Données". Quand
la valeur de référence, contenue dans la cellule E28, est trouvée je récupere bien la
bonne valeur. Par contre quand la valeur de référence n'est pas trouvée j'ai comme
retour #N/A, ce qui est normal puisque la valeur de référence n'est pas reconnue.

Je souhaiterais remplacer #N/A par quelque chose de plus parlant, dans le style :
- Référence non trouvée.
- Pas de correspondance pour cette référence.

Pouvez-vous m'aider. D'avance merci.
Cordialement.
Mistral

9 réponses

Messages postés
26192
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
22 septembre 2021
6 061
Bonsoir.
Cest un peu long, mais ça marche:
=SI($E$28="";"";SI(ESTERREUR(RECHERCHEV($E$28;Données!$D$1:Données!$I$5093;2;FAUX);"Valeur non trouvée";RECHERCHEV($E$28;Données!$D$1:Données!$I$5093;2;FAUX)))
Ca fait un peu long, donc un petit conseil pour éclaircir vos formules:
nommer vos plages plutôt que de les délimiter, ainsi, si vous appelez D1:I5093 CHAMP, par exemple, ce sera plus facile à écrire et ça évite les : ; $ ,le nom de la feuille,etc...
Dans la formule RECHERCHE, vous pouvez aussi remplacer FAUX par 0, ça raccourci aussi.
Crdlmnt

1
Merci

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

CCM 42674 internautes nous ont dit merci ce mois-ci

Messages postés
576
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
18 septembre 2021
3
Bonsoir Vaucluse,

Tout d'abord merci de vous interesse à mon cas.
Je me suis empréssé d'essayer cette fonction mais visiblement il y a un problème.
Chaque fois que que je copie (Ctrl C) cette fonction j'ai une erreurdans la formule qui est signalée.
De plus sans savoir pourquoi j'ai une fonction qui apparrait deux cellules plus bas???
Et visiblement l'erreur se trouve sur le mot "trouvée".
Mais je ne vois pas comment la corriger.
Pouvez-vous m'aider?
Cordialement
Mistral

PS Je suis de Saint Martin de Crau
entre Arles et Salon de Provence.
Messages postés
26192
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
22 septembre 2021
6 061
Bonjour
il y a surement une solution en VBA qui ote la protection , déverrouille la cellule, la revérouille après modif et remet la protection.
mais je déconseille (c'est mon point de vue) fortement de supprimer des formules dans un champ pour le modifier, ne serait ce que parce que la macro va s'appliquer quand vous sélectionnerez une cellule quelle qu'elle soit et ce ne sera pas forcément celle que vous souhaitez. C'est donc la porte ouverte à toutes les erreurs.
Ne pouvez vous pas envisager un tableau comme je vous le donne en exemple dans le modèle joint, c'est à dire: réserver un champ pour les noms à rajouter
garder l'identification des inconnus en colonne F
les signaler par une écriture en rouge en F et une case à remplir dans une colonne vide (La A dans mon modéle)
nota: les colorations se font par mise en forme conditionnelle.
Crdlmnt

http://www.cijoint.fr/cjlink.php?file=cj200910/cijOdbxgLU.xls
1
Merci

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

CCM 42674 internautes nous ont dit merci ce mois-ci

Messages postés
576
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
18 septembre 2021
3
Tout d’abord merci pour votre réponse.
Je partage totalement vos réticences à supprimer une formule dans un champ mais je ne peux malheureusement pas ajouter une colonne supplémentaire pour entrer le nom car je format du formulaire est fixe.
Par contre ne serait-il pas possible quand une correspondance n’est pas trouvée et après affichage d’un message d’erreur dans la cellule de la colonne « F » d’ouvrir une boite de dialogue avec un message explicite, sur la raison du message d’erreur, et une ou deux zones de saisie pour entrer le nom et prénom manquant. Cette boite de dialogue pourrait être appelé par une valeur précise dans la cellule de la colonne « D » (SC par exemple) ?
Dans votre exemple la valeur de la cellule « D9 » n’est pas reconnu et a pour conséquence d’afficher dans la cellule « F9 » le contenu de la cellule « A1 ». Dans ce cas si on remplace le contenu de « D9 » par « SC » on pourrait afficher (peut être…) une boite de saisie avec un texte libre et deux champs, un pour le nom l’autre pour le prénom, qui serait ensuite inscrit dans la cellule « F9 » en respectant la syntaxe des champs de la colonne « F ».
Si cela est possible vous serez t il possible de me proposer une macro que je pourrais utiliser.
En vous en remerciant par avance.
Cordialement.
Mistral
Messages postés
54716
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
25 septembre 2021
16 608
Salut Mistral ! Quelle version d'Excel ?
Messages postés
576
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
18 septembre 2021
3
Bonsoir,

Merci de vous interesser à mon cas.
J'utilise le pack Microsoft Office 2002 SP3.
Messages postés
54716
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
25 septembre 2021
16 608
Bien !

Alors fais-nous voir de près ton fichier : Tu ouvres https://www.cjoint.com/ et tu suis les instructions, y compris "Autoriser ..." ; tu reviens dans ton message CCM et tu fais "Coller".
Messages postés
576
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
18 septembre 2021
3
Re,

Je ne peux pas mettre mon fichier en ligne car il contient des données sensibles.
La solution de "Vaucluse" semble fonctionner mais j'ai été obligé de rentrer sa
fonction manuellement. Un Copier/Coller me donnait une erreur.
Je vais regarder pour essayer de simplifier au maximum cette fonction comme
il me le suggerait.
Merci à vous tous et je tiens au courant du résultat final.
Cordialement.
Mistral.
Messages postés
576
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
18 septembre 2021
3
Bonjour à tous,

Ne pouvant pas, pour des raisons de confidentialité, mettre en ligne mon classeur complet j'ai créé un autre classeur résumant ma problématique. Il est disponible sur le lien suivant :

https://www.cjoint.com/?kmjOq1ZC8K

Sur la feuille centrale de ce classeur j'ai essayé d'expliquer le plus clairement possible mon problème. Si je n'ai pas été assez clair n'hésitez pas à prendre contact avec moi.
Merci d'y jeter un oeil et surtout merci d'avance à tous ceux qui prendront la peine de s'intéresser à mon cas.
Cordialement.
Mistral
Messages postés
26192
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
22 septembre 2021
6 061
Bonsoir

je n'ai malheureusement pas les compétences pour traiter le problème comme vous le souhaitez, à part celle de dire que la colonne de "correction" peut très bien se trouver en dehors du formulaire...

Ceci dit, je vous laisse dans d'autres mains plus performantes, (et il y en a quelques unes!!!), pour traiter le sujet;

Remarque:

Il est possible que nos échanges aient bloqué un peu l'ardeur (ou l'intèret pour la question) de ces "très fameux" intervenants, n'hésitez pas dans ce cas, à réouvrir un nouveau fil avec un titre explicite et des in dicationbs précises.

Il y a peu de chance pour que mes bons amis de CCM laisse passer cela! N'est ce pas Gbinform, Eriiic ,michel-m, Mike 31, Raymond et ceux que j'oublie ?(qu'ils veuillent bien m'excuser)


Bien cordialement

PS: je ne pense pas que Raymond puisse vous aider, mais c'est un bon ami de bon conseil et il fallait que je le salue.
Messages postés
576
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
18 septembre 2021
3
En tout cas merci d'avoir essayé et d'avoir participé à me faire avancer.
Je vais clore ma question et en relancer une en suivant vos conseils titre
plus explicite et en joingnant un lien pour mon fichier de démo.
Mille merci.
Cordialement
Mistral
Messages postés
26192
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
22 septembre 2021
6 061
Sans prendre de responsabilité outre mesure, essayez ce fil en cours , peut être convient il convient à votre question?
C'est une soultion proposée par Pijaku qui est aussi un excellent de ce forum:
https://forums.commentcamarche.net/forum/affich-14392183-boite-de-dialogue
Bonne chance
Messages postés
54716
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
25 septembre 2021
16 608
Bonjour Mistral !

Comme le sait bien Vaucluse, je ne m'y connais pas en VBA, et ne puis donc te proposer une solution macro.
Mais je voudrais insister sur la proposition qu'il t'a faite d'utiliser une colonne supplémentaire. Elle est simple et efficace.
Que veut dire "mais je ne peux malheureusement pas ajouter une colonne supplémentaire pour entrer le nom car je format du formulaire est fixe" ? C'est bien toi qui a créé ce fichier ? Tu peux donc l'adapter !Cette colonne peut se situer en A ou en Z, peu importe.

Bonne soirée à tous les deux.
Messages postés
576
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
18 septembre 2021
3
Bonsoir Raymond,

Oui c'est bien moi qui ai créé ce document mais avec des obligations de format à respecter.
Je ne peux donc pas ajouter ou supprimer une colonne et de plus ce document, qui doit être
imprimé, doit impérativement respecter une mise en forme stricte commune à plusieurs utilisateurs.
J'ai cloturé cette question et j'en ai relancé une autre " Gestion d'erreur dans Excel"avec un lien
sur un fichier test.
J'ai suvi en cela les conseils de "Vaucluse" et j'ose esperer que l'un des spécialiste d'Excel saura
me venir en aide...

Cordialement.
Mistral
Messages postés
54716
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
25 septembre 2021
16 608
Ouais !
Quand j'évoque la colonne Z, c'est pour signifier que la zone d'impression n'englobe pas cette colonne ! C'est juste une colonne accessoire pour les calculs, qu'il ne faut pas imprimer.