Entrer une valeur pour obtenir un texte dans la meme cellule

Voila, tout d'abord bonjours à tous.

Je fais appel a votre aide, sachant que j'ai déja épuisé plusieur forum sans nouvel ni réponse.

Je voudrais, en entrant une valeur 1,2 ou 3 etc... dans une cellule, que celle-ci m'affiche automatiquement un texte à la place.

Ca parait peut etre un peu dingue mais je peux vous jurer que j'ai déjà vu ça malheureusement je n'ai aucun moyen de retourner voir comment avait été fait cette feuille de l'époque, c'était d'ailleur sous un vieux excel. Peut etre était-ce une macro, au quel cas je ne m'y connais absolument pas.

Par exemple je voudrais que quand je rentre la valeur 1, ce 1 soit remplacé par 307 HDI 2006.

Je crois me souvenir que quand je recliquais dans la cellule qui affichait donc le texte et plus le numéro, elle ne me redonnais la possibilité que de changer ce précédant numéro et pas la ligne de texte, la ligne de texte n'était en quelque sorte qu'une valeur phantome.(excusez du therme).

Si quelqu'un à une idée, une piste aussi infime soit elle, cela m'aiderai énormément etant donné que fonctionner avec des formule SI par exemple m'est impossible vu la quantité de ligne différentes que je pourrais avoir à afficher et les listes déroulantes sont pas mal mais encore une fois vu la quantité je préfèrerais retrouver cette astuce.

Merci d'avance à ceux qui voudront bien se pencher sur mon probleme

Et bon courage

Yohann

Bonjour et bienvenue,

Avec une macro (fais ALT+F11 pour la voir et la modifier)

https://www.excel-pratique.com/~files/doc/IO4UYTexteRemplaceChiffre.xls

Amicalement

Nad

Merci Nad-Dan c'est exactement ca que je cherchais, c'est parfait...

Je continu de ce pas ma petite lecture de ce forum, il y a apparemment plein de chose intéressante.

Je sais que c'est hors sujet mais si a votre tour vous avez des question sur un logiciel de PAO "photoshop illustrator coreldraw..." je me ferais un plaisir de vous aider dans la mesure du possible

Mon mail : yoyolerobot@hotmail.com

Et encore merci

juste 1 petit souci, la macro fonctionne bien mais quand je veux supprimer plusieurs cellules en même temps, ça bug.

Ça m'embête de prendre encore un peu de ton temps mais si il y a une solution ça pourrait être pas mal.

Au pire tampis je supprimerai cellule par cellule si il faut...

Merci d'avance

a plus

Edit : erreur de post

oups j'ai répondu trop vite

Re,

Remplace la macro par celle-ci

Private Sub Worksheet_Change(ByVal Target As Range)
'Macro par Dan & Nad l 03/04/08
Application.EnableEvents = False
On Error GoTo Err
If Target.Value = 1 Then Target = "Essai1"
If Target.Value = 2 Then Target = "Essai2"
If Target.Value = 3 Then Target = "Essai3"
Application.EnableEvents = True
Exit Sub
Err: Application.EnableEvents = True
End Sub

A te relire

Dan

T'es trop fort.

C'est bon ça fonctionne a merveille.

Merci d'avoir donné un peu de ton temps

Au plaisir

ypromovil

Bonsoir,

bonsoir nad & dan

plutôt que d'utiliser la gestion d'erreur, ne vaut-il pas mieux utiliser cette ligne :

Private Sub Worksheet_Change(ByVal Target As Range)
'Macro par Dan & Nad l 03/04/08
If Target.Count > 1 Then Exit Sub
Application.EnableEvents = False
If Target.Value = 1 Then Target = "Essai1"
If Target.Value = 2 Then Target = "Essai2"
If Target.Value = 3 Then Target = "Essai3"
Application.EnableEvents = True
End Sub

Le "On Error Resume Next" ne devrait servir qu'à s'affranchir d'erreurs connues et identifiées, et dont une des solutions peut être cette erreur.

De plus, il est également préférable de ramener la gestion d'erreur de nouveau opérationnelle par "On Error Goto 0"

(dans ce cas, l'erreur, on la connait, et on peut l'éviter)

Bonne soirée

re,

Felix, non car sans la récupération d'erreur, un plantage pendant l'exécution ne permettra plus à excel d'utiliser les macros événementielles.

Tu parles de "On error resume next" mais le code proposé ne contient pas cette instruction.

A bientôt

Dan

Bonsoir Nad

effectivement, le Next n'apparaît pas, mais c'est "On Error Goto Err"......

Il n'empêche, l'erreur était connue, et je pense que la solution :

If Target.Count > 1 Then Exit Sub

aurait pu suffire.....

PS, Err est une variable native du VBA, il vaut mieux ne pas utiliser ce terme

Err te donne le numéro d'erreur, et que tu peux utiliser dans ton code, toujours dans le soin d'éviter les On Error...... en trop grand nombre, ceci afin, d'une part de pouvoir développer plus facilement ton code, et d'autre part d'éviter de passer à côté d'autres erreurs non gérées.

Bonne soirée

Edit : et pour éviter la désactivation des évènements, tu as remarqué que j'avais placé la ligne avant ....EnableEvents = False

re,

Effectivement l'erreur est connue puisque c'est la sélection de plusieurs cellules qui était en cause. Dans ce cas, on pouvait aussi mettre l'instruction que tu propose.

Dans mon cas, je parlais d'un plantage dans le code. Exemple, fais arrêter la macro sur la deuxième instruction. L'événement ne sera pas remis à True. C'est de cela dont je voulais parler. Je pense que combiner les deux solutions serait parfait car ta proposition a l'avantage de sortir directement de la macro.

Pour le "Err", il vaut effectivement mieux ne pas le mettre. Je n'y ai pas fait attention dans ma réponse alors que je le savais. Comme quoi rien ne sert de courir pour répondre

Bon dimanche

Dan

Rechercher des sujets similaires à "entrer valeur obtenir texte meme"