OVH Cloud OVH Cloud

attribuer un mot à une valeur

21 réponses
Avatar
Greg
Bonjour,

Je souhaiterais attribuer un mot à chaque valeur: en tapant 1 par exemple,
on ferait apparaître la lettre A, puis en tapant 2 le mot "MANGER".

Je pense qu'il faut passer par la mise en forme conditionnelle, avec une
formule...

Pouvez-vous m'aiguiller?

Merci


---

Greg

10 réponses

1 2 3
Avatar
Greg
Merci Sam,

J'ai effectivement vu ce fichier. Mais c'est effectivement la proposition de
Jac que je souhaite mettre en oeuvre.

à plus

Greg

"Sam" a écrit dans le message de
news:4af5b52b$0$969$


Bonjour,
non c'était une proposition de Jac

Moi j'ai fait un fichier Excel , il suffit de taper un nombre (de 1 à 17)
dans la colonne A de Feuil2 pour faire apparaitre en colonne B un texte
http://cjoint.com/?lgtDugV7CP

Cordialement
Michel dit "Sam"

"Greg" a écrit dans le message de news:

Bonjour,

Le problème, c'est qu'aucune des propositions ne permet de faire ce que
Sam disait:

"pour taper 1 et voir s'afficher en lieu et place "A", il faudra
passer par une macro qui fera le remplacement quand tu appuieras sur la
touche entrée, par exemple."

Néanmoins, je trouve vos propositions intéressantes et elles me serviront
dans d'autres projets.

Merci

Greg




"PLG" a écrit dans le message de
news:
Bon, supposons que tu ais de A1 à A10 ta liste de chiffres.
En B1 à B10 ta liste de mots.
En C1 tu entres un de tes chiffres
En D1 tu entres la formule : =INDEX(B1:B10;EQUIV(C1;A1:A10;0))
A toi par la suite d'adapter... les listes peuvent être n'importe où, tu
peux mettre des références absolues, donner des noms à tes listes, elles
peuvent être dynamiques avec DECALER et NBVAL.....

"Greg" wrote:

Bonjour,

Je souhaiterais attribuer un mot chaque valeur: en tapant 1 par
exemple,
on ferait apparatre la lettre A, puis en tapant 2 le mot "MANGER".

Je pense qu'il faut passer par la mise en forme conditionnelle, avec
une
formule...

Pouvez-vous m'aiguiller?

Merci


---

Greg












Avatar
FS
Bonjour,

En reprenant le fichier exemple de Sam, la macro proposée par Jac
pourrait être :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C2:C19")) Is Nothing Then
Application.EnableEvents = False
If IsError(Application.Match(Target.Value,
Sheets("dico").Range("A2:A19"), 0)) Then
Target.Value = ""
Else
Target.Value = Application.Index(Sheets("dico").Range("B2:B19"), _
Application.Match(Target.Value, Sheets("dico").Range("A2:A19"), 0))
End If
Application.EnableEvents = True
End If
End Sub

(Attention aux retours de lignes indésirables).

http://cjoint.com/?lll3YfwHnW

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

Greg a écrit :
Merci Sam,

J'ai effectivement vu ce fichier. Mais c'est effectivement la
proposition de Jac que je souhaite mettre en oeuvre.

à plus

Greg

"Sam" a écrit dans le message de
news:4af5b52b$0$969$


Bonjour,
non c'était une proposition de Jac

Moi j'ai fait un fichier Excel , il suffit de taper un nombre (de 1 à
17) dans la colonne A de Feuil2 pour faire apparaitre en colonne B un
texte
http://cjoint.com/?lgtDugV7CP

Cordialement
Michel dit "Sam"

"Greg" a écrit dans le message de news:

Bonjour,

Le problème, c'est qu'aucune des propositions ne permet de faire ce
que Sam disait:

"pour taper 1 et voir s'afficher en lieu et place "A", il faudra
passer par une macro qui fera le remplacement quand tu appuieras sur la
touche entrée, par exemple."

Néanmoins, je trouve vos propositions intéressantes et elles me
serviront dans d'autres projets.

Merci

Greg




"PLG" a écrit dans le message de
news:
Bon, supposons que tu ais de A1 à A10 ta liste de chiffres.
En B1 à B10 ta liste de mots.
En C1 tu entres un de tes chiffres
En D1 tu entres la formule : =INDEX(B1:B10;EQUIV(C1;A1:A10;0))
A toi par la suite d'adapter... les listes peuvent être n'importe
où, tu
peux mettre des références absolues, donner des noms à tes listes,
elles
peuvent être dynamiques avec DECALER et NBVAL.....

"Greg" wrote:

Bonjour,

Je souhaiterais attribuer un mot chaque valeur: en tapant 1 par
exemple,
on ferait apparatre la lettre A, puis en tapant 2 le mot "MANGER".

Je pense qu'il faut passer par la mise en forme conditionnelle,
avec une
formule...

Pouvez-vous m'aiguiller?

Merci


---

Greg















Avatar
Greg
Bonjour,

C'est exactement ce que je voulais! Comment rendre indépendant la fonction
de remplacement à l'intérieur de la cellule (telle que dans les cellules
bleues) sans avoir la fonction "en décalé" (cellules jaunes)?

Merci beaucoup

Greg

"FS" a écrit dans le message de
news:
Bonjour,

En reprenant le fichier exemple de Sam, la macro proposée par Jac pourrait
être :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C2:C19")) Is Nothing Then
Application.EnableEvents = False
If IsError(Application.Match(Target.Value,
Sheets("dico").Range("A2:A19"), 0)) Then
Target.Value = ""
Else
Target.Value = Application.Index(Sheets("dico").Range("B2:B19"), _
Application.Match(Target.Value, Sheets("dico").Range("A2:A19"),
0))
End If
Application.EnableEvents = True
End If
End Sub

(Attention aux retours de lignes indésirables).

http://cjoint.com/?lll3YfwHnW

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

Greg a écrit :
Merci Sam,

J'ai effectivement vu ce fichier. Mais c'est effectivement la proposition
de Jac que je souhaite mettre en oeuvre.

à plus

Greg

"Sam" a écrit dans le message de
news:4af5b52b$0$969$


Bonjour,
non c'était une proposition de Jac

Moi j'ai fait un fichier Excel , il suffit de taper un nombre (de 1 à
17) dans la colonne A de Feuil2 pour faire apparaitre en colonne B un
texte
http://cjoint.com/?lgtDugV7CP

Cordialement
Michel dit "Sam"

"Greg" a écrit dans le message de news:

Bonjour,

Le problème, c'est qu'aucune des propositions ne permet de faire ce que
Sam disait:

"pour taper 1 et voir s'afficher en lieu et place "A", il faudra
passer par une macro qui fera le remplacement quand tu appuieras sur la
touche entrée, par exemple."

Néanmoins, je trouve vos propositions intéressantes et elles me
serviront dans d'autres projets.

Merci

Greg




"PLG" a écrit dans le message de
news:
Bon, supposons que tu ais de A1 à A10 ta liste de chiffres.
En B1 à B10 ta liste de mots.
En C1 tu entres un de tes chiffres
En D1 tu entres la formule : =INDEX(B1:B10;EQUIV(C1;A1:A10;0))
A toi par la suite d'adapter... les listes peuvent être n'importe où,
tu
peux mettre des références absolues, donner des noms à tes listes,
elles
peuvent être dynamiques avec DECALER et NBVAL.....

"Greg" wrote:

Bonjour,

Je souhaiterais attribuer un mot chaque valeur: en tapant 1 par
exemple,
on ferait apparatre la lettre A, puis en tapant 2 le mot "MANGER".

Je pense qu'il faut passer par la mise en forme conditionnelle, avec
une
formule...

Pouvez-vous m'aiguiller?

Merci


---

Greg

















Avatar
FS
Mais, c'est indépendant !
Ce n'est plus une fonction mais une macro. Tu peux effacer les colonnes
A et B de la feuille 2 sans aucune conséquence. Les 2 seules choses dont
tu as besoin, ce sont :
- une feuille "dico" avec les codes et leur mot ou expressions équivalents
- une adaptation du code à ton propre contexte : si la feuille "dico"
s'appelle autrement dans ton projet et si la plage de remplacement est
différente de C2:C19, modifie ce qui concerne ces deux éléments dans ton
code.

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

Greg a écrit :
Bonjour,

C'est exactement ce que je voulais! Comment rendre indépendant la
fonction de remplacement à l'intérieur de la cellule (telle que dans les
cellules bleues) sans avoir la fonction "en décalé" (cellules jaunes)?

Merci beaucoup

Greg

"FS" a écrit dans le message de
news:
Bonjour,

En reprenant le fichier exemple de Sam, la macro proposée par Jac
pourrait être :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C2:C19")) Is Nothing Then
Application.EnableEvents = False
If IsError(Application.Match(Target.Value,
Sheets("dico").Range("A2:A19"), 0)) Then
Target.Value = ""
Else
Target.Value = Application.Index(Sheets("dico").Range("B2:B19"), _
Application.Match(Target.Value,
Sheets("dico").Range("A2:A19"), 0))
End If
Application.EnableEvents = True
End If
End Sub

(Attention aux retours de lignes indésirables).

http://cjoint.com/?lll3YfwHnW

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

Greg a écrit :
Merci Sam,

J'ai effectivement vu ce fichier. Mais c'est effectivement la
proposition de Jac que je souhaite mettre en oeuvre.

à plus

Greg

"Sam" a écrit dans le message de
news:4af5b52b$0$969$


Bonjour,
non c'était une proposition de Jac

Moi j'ai fait un fichier Excel , il suffit de taper un nombre (de 1
à 17) dans la colonne A de Feuil2 pour faire apparaitre en colonne B
un texte
http://cjoint.com/?lgtDugV7CP

Cordialement
Michel dit "Sam"

"Greg" a écrit dans le message de news:

Bonjour,

Le problème, c'est qu'aucune des propositions ne permet de faire ce
que Sam disait:

"pour taper 1 et voir s'afficher en lieu et place "A", il faudra
passer par une macro qui fera le remplacement quand tu appuieras
sur la
touche entrée, par exemple."

Néanmoins, je trouve vos propositions intéressantes et elles me
serviront dans d'autres projets.

Merci

Greg




"PLG" a écrit dans le message de
news:
Bon, supposons que tu ais de A1 à A10 ta liste de chiffres.
En B1 à B10 ta liste de mots.
En C1 tu entres un de tes chiffres
En D1 tu entres la formule : =INDEX(B1:B10;EQUIV(C1;A1:A10;0))
A toi par la suite d'adapter... les listes peuvent être n'importe
où, tu
peux mettre des références absolues, donner des noms à tes listes,
elles
peuvent être dynamiques avec DECALER et NBVAL.....

"Greg" wrote:

Bonjour,

Je souhaiterais attribuer un mot chaque valeur: en tapant 1 par
exemple,
on ferait apparatre la lettre A, puis en tapant 2 le mot "MANGER".

Je pense qu'il faut passer par la mise en forme conditionnelle,
avec une
formule...

Pouvez-vous m'aiguiller?

Merci


---

Greg




















Avatar
Greg
Merci Frédéric!

Ca marche impec! Le seul problème, c'est que lorsqu'on efface le contenu
d'une cellule, apparaït #N/A.

Merci beaucoup

Greg


"FS" a écrit dans le message de
news:%23RYer%
Mais, c'est indépendant !
Ce n'est plus une fonction mais une macro. Tu peux effacer les colonnes A
et B de la feuille 2 sans aucune conséquence. Les 2 seules choses dont tu
as besoin, ce sont :
- une feuille "dico" avec les codes et leur mot ou expressions équivalents
- une adaptation du code à ton propre contexte : si la feuille "dico"
s'appelle autrement dans ton projet et si la plage de remplacement est
différente de C2:C19, modifie ce qui concerne ces deux éléments dans ton
code.

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

Greg a écrit :
Bonjour,

C'est exactement ce que je voulais! Comment rendre indépendant la
fonction de remplacement à l'intérieur de la cellule (telle que dans les
cellules bleues) sans avoir la fonction "en décalé" (cellules jaunes)?

Merci beaucoup

Greg

"FS" a écrit dans le message de
news:
Bonjour,

En reprenant le fichier exemple de Sam, la macro proposée par Jac
pourrait être :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C2:C19")) Is Nothing Then
Application.EnableEvents = False
If IsError(Application.Match(Target.Value,
Sheets("dico").Range("A2:A19"), 0)) Then
Target.Value = ""
Else
Target.Value = Application.Index(Sheets("dico").Range("B2:B19"), _
Application.Match(Target.Value, Sheets("dico").Range("A2:A19"),
0))
End If
Application.EnableEvents = True
End If
End Sub

(Attention aux retours de lignes indésirables).

http://cjoint.com/?lll3YfwHnW

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

Greg a écrit :
Merci Sam,

J'ai effectivement vu ce fichier. Mais c'est effectivement la
proposition de Jac que je souhaite mettre en oeuvre.

à plus

Greg

"Sam" a écrit dans le message de
news:4af5b52b$0$969$


Bonjour,
non c'était une proposition de Jac

Moi j'ai fait un fichier Excel , il suffit de taper un nombre (de 1 à
17) dans la colonne A de Feuil2 pour faire apparaitre en colonne B un
texte
http://cjoint.com/?lgtDugV7CP

Cordialement
Michel dit "Sam"

"Greg" a écrit dans le message de news:

Bonjour,

Le problème, c'est qu'aucune des propositions ne permet de faire ce
que Sam disait:

"pour taper 1 et voir s'afficher en lieu et place "A", il faudra
passer par une macro qui fera le remplacement quand tu appuieras sur
la
touche entrée, par exemple."

Néanmoins, je trouve vos propositions intéressantes et elles me
serviront dans d'autres projets.

Merci

Greg




"PLG" a écrit dans le message de
news:
Bon, supposons que tu ais de A1 à A10 ta liste de chiffres.
En B1 à B10 ta liste de mots.
En C1 tu entres un de tes chiffres
En D1 tu entres la formule : =INDEX(B1:B10;EQUIV(C1;A1:A10;0))
A toi par la suite d'adapter... les listes peuvent être n'importe
où, tu
peux mettre des références absolues, donner des noms à tes listes,
elles
peuvent être dynamiques avec DECALER et NBVAL.....

"Greg" wrote:

Bonjour,

Je souhaiterais attribuer un mot chaque valeur: en tapant 1 par
exemple,
on ferait apparatre la lettre A, puis en tapant 2 le mot "MANGER".

Je pense qu'il faut passer par la mise en forme conditionnelle,
avec une
formule...

Pouvez-vous m'aiguiller?

Merci


---

Greg






















Avatar
FS
> Ca marche impec! Le seul problème, c'est que lorsqu'on efface le


> contenu d'une cellule, apparaït #N/A.

Donc ça ne marche pas "impec" !
Mais, désolé. Si tu effaces une cellule de la plage spécifiée et que tu
n'as pas modifié mon code, ça "affiche" du texte vide ("") et non une
valeur d'erreur.

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

Greg a écrit :
Merci Frédéric!

Ca marche impec! Le seul problème, c'est que lorsqu'on efface le contenu
d'une cellule, apparaït #N/A.

Merci beaucoup

Greg


"FS" a écrit dans le message de
news:%23RYer%
Mais, c'est indépendant !
Ce n'est plus une fonction mais une macro. Tu peux effacer les
colonnes A et B de la feuille 2 sans aucune conséquence. Les 2 seules
choses dont tu as besoin, ce sont :
- une feuille "dico" avec les codes et leur mot ou expressions
équivalents
- une adaptation du code à ton propre contexte : si la feuille "dico"
s'appelle autrement dans ton projet et si la plage de remplacement est
différente de C2:C19, modifie ce qui concerne ces deux éléments dans
ton code.

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

Greg a écrit :
Bonjour,

C'est exactement ce que je voulais! Comment rendre indépendant la
fonction de remplacement à l'intérieur de la cellule (telle que dans
les cellules bleues) sans avoir la fonction "en décalé" (cellules
jaunes)?

Merci beaucoup

Greg

"FS" a écrit dans le message de
news:
Bonjour,

En reprenant le fichier exemple de Sam, la macro proposée par Jac
pourrait être :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C2:C19")) Is Nothing Then
Application.EnableEvents = False
If IsError(Application.Match(Target.Value,
Sheets("dico").Range("A2:A19"), 0)) Then
Target.Value = ""
Else
Target.Value =
Application.Index(Sheets("dico").Range("B2:B19"), _
Application.Match(Target.Value,
Sheets("dico").Range("A2:A19"), 0))
End If
Application.EnableEvents = True
End If
End Sub

(Attention aux retours de lignes indésirables).

http://cjoint.com/?lll3YfwHnW

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

Greg a écrit :
Merci Sam,

J'ai effectivement vu ce fichier. Mais c'est effectivement la
proposition de Jac que je souhaite mettre en oeuvre.

à plus

Greg

"Sam" a écrit dans le message de
news:4af5b52b$0$969$


Bonjour,
non c'était une proposition de Jac

Moi j'ai fait un fichier Excel , il suffit de taper un nombre (de
1 à 17) dans la colonne A de Feuil2 pour faire apparaitre en
colonne B un texte
http://cjoint.com/?lgtDugV7CP

Cordialement
Michel dit "Sam"

"Greg" a écrit dans le message de news:

Bonjour,

Le problème, c'est qu'aucune des propositions ne permet de faire
ce que Sam disait:

"pour taper 1 et voir s'afficher en lieu et place "A", il faudra
passer par une macro qui fera le remplacement quand tu appuieras
sur la
touche entrée, par exemple."

Néanmoins, je trouve vos propositions intéressantes et elles me
serviront dans d'autres projets.

Merci

Greg




"PLG" a écrit dans le message de
news:
Bon, supposons que tu ais de A1 à A10 ta liste de chiffres.
En B1 à B10 ta liste de mots.
En C1 tu entres un de tes chiffres
En D1 tu entres la formule : =INDEX(B1:B10;EQUIV(C1;A1:A10;0))
A toi par la suite d'adapter... les listes peuvent être
n'importe où, tu
peux mettre des références absolues, donner des noms à tes
listes, elles
peuvent être dynamiques avec DECALER et NBVAL.....

"Greg" wrote:

Bonjour,

Je souhaiterais attribuer un mot chaque valeur: en tapant 1
par exemple,
on ferait apparatre la lettre A, puis en tapant 2 le mot "MANGER".

Je pense qu'il faut passer par la mise en forme conditionnelle,
avec une
formule...

Pouvez-vous m'aiguiller?

Merci


---

Greg

























Avatar
Greg
Bonsoir,

Désolé FS, tu as raison, mais seulement en partie. Lorsque je supprime la
valeur d'une cellule, la cellule est effectivement vide. Lorsque je supprime
les valeurs en sélectionnant une plage puis SUPP, arrive alors #N/A. Je
précise que je suis en version 2007, au cas où. Je l'ai fait avec l'ordi de
ma femme: même résultat.

à plus

Greg

"FS" a écrit dans le message de
news:
> Ca marche impec! Le seul problème, c'est que lorsqu'on efface le
> contenu d'une cellule, apparaït #N/A.

Donc ça ne marche pas "impec" !
Mais, désolé. Si tu effaces une cellule de la plage spécifiée et que tu
n'as pas modifié mon code, ça "affiche" du texte vide ("") et non une
valeur d'erreur.

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

Greg a écrit :
Merci Frédéric!

Ca marche impec! Le seul problème, c'est que lorsqu'on efface le contenu
d'une cellule, apparaït #N/A.

Merci beaucoup

Greg


"FS" a écrit dans le message de
news:%23RYer%
Mais, c'est indépendant !
Ce n'est plus une fonction mais une macro. Tu peux effacer les colonnes
A et B de la feuille 2 sans aucune conséquence. Les 2 seules choses dont
tu as besoin, ce sont :
- une feuille "dico" avec les codes et leur mot ou expressions
équivalents
- une adaptation du code à ton propre contexte : si la feuille "dico"
s'appelle autrement dans ton projet et si la plage de remplacement est
différente de C2:C19, modifie ce qui concerne ces deux éléments dans ton
code.

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

Greg a écrit :
Bonjour,

C'est exactement ce que je voulais! Comment rendre indépendant la
fonction de remplacement à l'intérieur de la cellule (telle que dans
les cellules bleues) sans avoir la fonction "en décalé" (cellules
jaunes)?

Merci beaucoup

Greg

"FS" a écrit dans le message de
news:
Bonjour,

En reprenant le fichier exemple de Sam, la macro proposée par Jac
pourrait être :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C2:C19")) Is Nothing Then
Application.EnableEvents = False
If IsError(Application.Match(Target.Value,
Sheets("dico").Range("A2:A19"), 0)) Then
Target.Value = ""
Else
Target.Value = Application.Index(Sheets("dico").Range("B2:B19"),
_
Application.Match(Target.Value,
Sheets("dico").Range("A2:A19"), 0))
End If
Application.EnableEvents = True
End If
End Sub

(Attention aux retours de lignes indésirables).

http://cjoint.com/?lll3YfwHnW

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

Greg a écrit :
Merci Sam,

J'ai effectivement vu ce fichier. Mais c'est effectivement la
proposition de Jac que je souhaite mettre en oeuvre.

à plus

Greg

"Sam" a écrit dans le message de
news:4af5b52b$0$969$


Bonjour,
non c'était une proposition de Jac

Moi j'ai fait un fichier Excel , il suffit de taper un nombre (de 1
à 17) dans la colonne A de Feuil2 pour faire apparaitre en colonne B
un texte
http://cjoint.com/?lgtDugV7CP

Cordialement
Michel dit "Sam"

"Greg" a écrit dans le message de news:

Bonjour,

Le problème, c'est qu'aucune des propositions ne permet de faire ce
que Sam disait:

"pour taper 1 et voir s'afficher en lieu et place "A", il faudra
passer par une macro qui fera le remplacement quand tu appuieras
sur la
touche entrée, par exemple."

Néanmoins, je trouve vos propositions intéressantes et elles me
serviront dans d'autres projets.

Merci

Greg




"PLG" a écrit dans le message de
news:
Bon, supposons que tu ais de A1 à A10 ta liste de chiffres.
En B1 à B10 ta liste de mots.
En C1 tu entres un de tes chiffres
En D1 tu entres la formule : =INDEX(B1:B10;EQUIV(C1;A1:A10;0))
A toi par la suite d'adapter... les listes peuvent être n'importe
où, tu
peux mettre des références absolues, donner des noms à tes listes,
elles
peuvent être dynamiques avec DECALER et NBVAL.....

"Greg" wrote:

Bonjour,

Je souhaiterais attribuer un mot chaque valeur: en tapant 1 par
exemple,
on ferait apparatre la lettre A, puis en tapant 2 le mot
"MANGER".

Je pense qu'il faut passer par la mise en forme conditionnelle,
avec une
formule...

Pouvez-vous m'aiguiller?

Merci


---

Greg



























Avatar
ibanis
Bonsoir,
1° message sur google groups, j'espère que ça va marcher!!! et merci
d'avance à tous ceux qui pourront m'aider!
j'ai un problème similaire, je dois faire un tableau qui comprend
(entre autre) une colonne "quotation acte" et une colonne adjacente
"tarif"
en fait il faudrait qu'un acte, quand il est saisi, corresponde tjrs
au même tarif.
Et sachant qu'il y a plusieurs acte possible, peut-on faire une liste
déroulante pour choisir l'acte qui convient?

merci
Avatar
FS
Bonjour,

Essaye avec cette petite modif (1ère instruction) :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count <> 1 Then Exit Sub
If Not Intersect(Target, Range("C2:C19")) Is Nothing Then
Application.EnableEvents = False
If IsError(Application.Match(Target.Value,
Sheets("dico").Range("A2:A19"), 0)) Then
Target.Value = ""
Else
Target.Value = Application.Index(Sheets("dico").Range("B2:B19"), _
Application.Match(Target.Value, Sheets("dico").Range("A2:A19"), 0))
End If
Application.EnableEvents = True
End If
End Sub

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

Greg a écrit :
Bonsoir,

Désolé FS, tu as raison, mais seulement en partie. Lorsque je supprime
la valeur d'une cellule, la cellule est effectivement vide. Lorsque je
supprime les valeurs en sélectionnant une plage puis SUPP, arrive alors
#N/A. Je précise que je suis en version 2007, au cas où. Je l'ai fait
avec l'ordi de ma femme: même résultat.

à plus

Greg

"FS" a écrit dans le message de
news:
> Ca marche impec! Le seul problème, c'est que lorsqu'on efface le
> contenu d'une cellule, apparaït #N/A.

Donc ça ne marche pas "impec" !
Mais, désolé. Si tu effaces une cellule de la plage spécifiée et que
tu n'as pas modifié mon code, ça "affiche" du texte vide ("") et non
une valeur d'erreur.

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

Greg a écrit :
Merci Frédéric!

Ca marche impec! Le seul problème, c'est que lorsqu'on efface le
contenu d'une cellule, apparaït #N/A.

Merci beaucoup

Greg


"FS" a écrit dans le message de
news:%23RYer%
Mais, c'est indépendant !
Ce n'est plus une fonction mais une macro. Tu peux effacer les
colonnes A et B de la feuille 2 sans aucune conséquence. Les 2
seules choses dont tu as besoin, ce sont :
- une feuille "dico" avec les codes et leur mot ou expressions
équivalents
- une adaptation du code à ton propre contexte : si la feuille
"dico" s'appelle autrement dans ton projet et si la plage de
remplacement est différente de C2:C19, modifie ce qui concerne ces
deux éléments dans ton code.

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

Greg a écrit :
Bonjour,

C'est exactement ce que je voulais! Comment rendre indépendant la
fonction de remplacement à l'intérieur de la cellule (telle que
dans les cellules bleues) sans avoir la fonction "en décalé"
(cellules jaunes)?

Merci beaucoup

Greg

"FS" a écrit dans le message de
news:
Bonjour,

En reprenant le fichier exemple de Sam, la macro proposée par Jac
pourrait être :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C2:C19")) Is Nothing Then
Application.EnableEvents = False
If IsError(Application.Match(Target.Value,
Sheets("dico").Range("A2:A19"), 0)) Then
Target.Value = ""
Else
Target.Value =
Application.Index(Sheets("dico").Range("B2:B19"), _
Application.Match(Target.Value,
Sheets("dico").Range("A2:A19"), 0))
End If
Application.EnableEvents = True
End If
End Sub

(Attention aux retours de lignes indésirables).

http://cjoint.com/?lll3YfwHnW

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

Greg a écrit :
Merci Sam,

J'ai effectivement vu ce fichier. Mais c'est effectivement la
proposition de Jac que je souhaite mettre en oeuvre.

à plus

Greg

"Sam" a écrit dans le message de
news:4af5b52b$0$969$


Bonjour,
non c'était une proposition de Jac

Moi j'ai fait un fichier Excel , il suffit de taper un nombre
(de 1 à 17) dans la colonne A de Feuil2 pour faire apparaitre en
colonne B un texte
http://cjoint.com/?lgtDugV7CP

Cordialement
Michel dit "Sam"

"Greg" a écrit dans le message de news:

Bonjour,

Le problème, c'est qu'aucune des propositions ne permet de
faire ce que Sam disait:

"pour taper 1 et voir s'afficher en lieu et place "A", il faudra
passer par une macro qui fera le remplacement quand tu
appuieras sur la
touche entrée, par exemple."

Néanmoins, je trouve vos propositions intéressantes et elles me
serviront dans d'autres projets.

Merci

Greg




"PLG" a écrit dans le message
de news:
Bon, supposons que tu ais de A1 à A10 ta liste de chiffres.
En B1 à B10 ta liste de mots.
En C1 tu entres un de tes chiffres
En D1 tu entres la formule : =INDEX(B1:B10;EQUIV(C1;A1:A10;0))
A toi par la suite d'adapter... les listes peuvent être
n'importe où, tu
peux mettre des références absolues, donner des noms à tes
listes, elles
peuvent être dynamiques avec DECALER et NBVAL.....

"Greg" wrote:

Bonjour,

Je souhaiterais attribuer un mot chaque valeur: en tapant 1
par exemple,
on ferait apparatre la lettre A, puis en tapant 2 le mot
"MANGER".

Je pense qu'il faut passer par la mise en forme
conditionnelle, avec une
formule...

Pouvez-vous m'aiguiller?

Merci


---

Greg






























Avatar
Greg
Bonjour FS,

Cette fois, je peux le dire: IMPEC!

Merci beaucoup pour ta contribution

---
Greg


"FS" a écrit dans le message de
news:
Bonjour,

Essaye avec cette petite modif (1ère instruction) :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count <> 1 Then Exit Sub
If Not Intersect(Target, Range("C2:C19")) Is Nothing Then
Application.EnableEvents = False
If IsError(Application.Match(Target.Value,
Sheets("dico").Range("A2:A19"), 0)) Then
Target.Value = ""
Else
Target.Value = Application.Index(Sheets("dico").Range("B2:B19"), _
Application.Match(Target.Value, Sheets("dico").Range("A2:A19"),
0))
End If
Application.EnableEvents = True
End If
End Sub

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

Greg a écrit :
Bonsoir,

Désolé FS, tu as raison, mais seulement en partie. Lorsque je supprime la
valeur d'une cellule, la cellule est effectivement vide. Lorsque je
supprime les valeurs en sélectionnant une plage puis SUPP, arrive alors
#N/A. Je précise que je suis en version 2007, au cas où. Je l'ai fait
avec l'ordi de ma femme: même résultat.

à plus

Greg

"FS" a écrit dans le message de
news:
> Ca marche impec! Le seul problème, c'est que lorsqu'on efface le
> contenu d'une cellule, apparaït #N/A.

Donc ça ne marche pas "impec" !
Mais, désolé. Si tu effaces une cellule de la plage spécifiée et que tu
n'as pas modifié mon code, ça "affiche" du texte vide ("") et non une
valeur d'erreur.

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

Greg a écrit :
Merci Frédéric!

Ca marche impec! Le seul problème, c'est que lorsqu'on efface le
contenu d'une cellule, apparaït #N/A.

Merci beaucoup

Greg


"FS" a écrit dans le message de
news:%23RYer%
Mais, c'est indépendant !
Ce n'est plus une fonction mais une macro. Tu peux effacer les
colonnes A et B de la feuille 2 sans aucune conséquence. Les 2 seules
choses dont tu as besoin, ce sont :
- une feuille "dico" avec les codes et leur mot ou expressions
équivalents
- une adaptation du code à ton propre contexte : si la feuille "dico"
s'appelle autrement dans ton projet et si la plage de remplacement est
différente de C2:C19, modifie ce qui concerne ces deux éléments dans
ton code.

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

Greg a écrit :
Bonjour,

C'est exactement ce que je voulais! Comment rendre indépendant la
fonction de remplacement à l'intérieur de la cellule (telle que dans
les cellules bleues) sans avoir la fonction "en décalé" (cellules
jaunes)?

Merci beaucoup

Greg

"FS" a écrit dans le message de
news:
Bonjour,

En reprenant le fichier exemple de Sam, la macro proposée par Jac
pourrait être :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C2:C19")) Is Nothing Then
Application.EnableEvents = False
If IsError(Application.Match(Target.Value,
Sheets("dico").Range("A2:A19"), 0)) Then
Target.Value = ""
Else
Target.Value =
Application.Index(Sheets("dico").Range("B2:B19"), _
Application.Match(Target.Value,
Sheets("dico").Range("A2:A19"), 0))
End If
Application.EnableEvents = True
End If
End Sub

(Attention aux retours de lignes indésirables).

http://cjoint.com/?lll3YfwHnW

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

Greg a écrit :
Merci Sam,

J'ai effectivement vu ce fichier. Mais c'est effectivement la
proposition de Jac que je souhaite mettre en oeuvre.

à plus

Greg

"Sam" a écrit dans le message de
news:4af5b52b$0$969$


Bonjour,
non c'était une proposition de Jac

Moi j'ai fait un fichier Excel , il suffit de taper un nombre (de
1 à 17) dans la colonne A de Feuil2 pour faire apparaitre en
colonne B un texte
http://cjoint.com/?lgtDugV7CP

Cordialement
Michel dit "Sam"

"Greg" a écrit dans le message de news:

Bonjour,

Le problème, c'est qu'aucune des propositions ne permet de faire
ce que Sam disait:

"pour taper 1 et voir s'afficher en lieu et place "A", il faudra
passer par une macro qui fera le remplacement quand tu appuieras
sur la
touche entrée, par exemple."

Néanmoins, je trouve vos propositions intéressantes et elles me
serviront dans d'autres projets.

Merci

Greg




"PLG" a écrit dans le message de
news:
Bon, supposons que tu ais de A1 à A10 ta liste de chiffres.
En B1 à B10 ta liste de mots.
En C1 tu entres un de tes chiffres
En D1 tu entres la formule : =INDEX(B1:B10;EQUIV(C1;A1:A10;0))
A toi par la suite d'adapter... les listes peuvent être
n'importe où, tu
peux mettre des références absolues, donner des noms à tes
listes, elles
peuvent être dynamiques avec DECALER et NBVAL.....

"Greg" wrote:

Bonjour,

Je souhaiterais attribuer un mot chaque valeur: en tapant 1
par exemple,
on ferait apparatre la lettre A, puis en tapant 2 le mot
"MANGER".

Je pense qu'il faut passer par la mise en forme conditionnelle,
avec une
formule...

Pouvez-vous m'aiguiller?

Merci


---

Greg
































1 2 3