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

soum1080 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
Theo.R Messages postés 575 Date d'inscription   Statut Membre Dernière intervention   -
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,... )
A voir également:

2 réponses

michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour
sans macro avev index-quiv
voir:
http://www.cjoint.com/c/FBjjMW2t546
0
soum1080 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
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 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314 > soum1080 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   > michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention  
 
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 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314 > soum1080 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   31
 
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