Afficher des données dans cellule en fonction de la saisie

Fermé
soum1080 Messages postés 3 Date d'inscription mardi 9 février 2016 Statut Membre Dernière intervention 9 février 2016 - 9 févr. 2016 à 10:22
Theo.R Messages postés 575 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 30 mars 2016 - 9 févr. 2016 à 15:45
Bonjour à tous,
Après de multiple recherche, je n'ai pas réussi à trouver une solution à mon problème.
Je souhaiterai savoir s'il est possible de saisir une donnée dans une cellule, et qu'en fonction de cette donnée, une autre donnée s'affiche à la place dans cette même cellule...

Par exemple:
J'ai une base de donnée :
Colonne A:
XXXX
YYYY
ZZZZ
Colonne B:
12-34-5
425-5-56
48-87-958

Je souhaiterai que dans mon tableau, la colonne C affiche la valeur de la Colonne A si je saisie dans cette même cellule la valeur de la Colonne B.
En résumé, si j'écris dans C1 "48-87-958", alors le Texte "ZZZZ" remplace ma saisie.

Merci par avance pour vos précieux conseils.
(PS: Je ne maîtrise ni macro, ni VBA,... )

2 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
9 févr. 2016 à 10:39
Bonjour
sans macro avev index-quiv
voir:
http://www.cjoint.com/c/FBjjMW2t546
0
soum1080 Messages postés 3 Date d'inscription mardi 9 février 2016 Statut Membre Dernière intervention 9 février 2016
9 févr. 2016 à 10:54
Merci pour votre réponse. Mais en faite, dans votre exemple, la saisie se fait en D2, et le résultat s'affiche dans F2.

Or, j'aimerais (si possible), que mon texte s'affiche en lieu et place de ma valeur saisie, c-a-d dans D2 (dans votre exemple...)

Est-ce possible?
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303 > soum1080 Messages postés 3 Date d'inscription mardi 9 février 2016 Statut Membre Dernière intervention 9 février 2016
9 févr. 2016 à 11:25
Oui, mais ce n'est pas très fufute

En D2 la validation de données évite des fautes de frappe

Maintenant, faites ce que vous voulez, vous avez le principee avec la formule que je vous ai donné
A vous d'adapter
je coche "résolu"
0
soum1080 Messages postés 3 Date d'inscription mardi 9 février 2016 Statut Membre Dernière intervention 9 février 2016 > michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023
9 févr. 2016 à 11:29
Je ne peux pas utiliser votre formule telle qu'elle, car elle ne permet pas d'écrire "12-13-14" en D2 et d'afficher à la place "AAA" en D2 toujours...
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303 > soum1080 Messages postés 3 Date d'inscription mardi 9 février 2016 Statut Membre Dernière intervention 9 février 2016
9 févr. 2016 à 11:38
Alors il faut passer par du VBA
mais vous avez marqué
je ne maîtrise ni macro, ni VBA
0
Theo.R Messages postés 575 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 30 mars 2016 31
9 févr. 2016 à 15:45
Bonjour,

Le fait de saisir dans la même cellule empêche de trouver une solution par formule. Donc il reste l'étendue des possibles qu'offrent les Macros (qui ne sont que l'application du code VBA qui est lui le langage de programmation).

La solution se compose de 2 codes :

1) Le premier est à mettre dans le code de la feuille sur laquelle vous travaillez:
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Count > 1 Then Exit Sub

V = Target.Value
A = Target.Address
L = Target.Row

If Flag = True Then Exit Sub
Flag = True

If A Like "*C*" And V <> "" And V = Range("A" & L).Value Then
Range(A).Value = Range("B" & L).Value

Else

If A Like "*C*" And V <> "" And V = Range("B" & L).Value Then
Range(A).Value = Range("A" & L).Value
End If

End If

Flag = False


End Sub


2) le 2nd est à mettre dans un Module VBA :
Public Flag As Boolean
0