Comment convertir un code en clair en excel

Résolu/Fermé
debutante-excel Messages postés 195 Date d'inscription mardi 26 février 2008 Statut Membre Dernière intervention 31 mars 2011 - 26 févr. 2008 à 23:34
debutante-excel Messages postés 195 Date d'inscription mardi 26 février 2008 Statut Membre Dernière intervention 31 mars 2011 - 1 mars 2008 à 21:11
Bonjour,

Tout d'abord je débute en excel, et je vois pas trop comment m'y prendre.

Je reçois des feuilles excel dont les certaines cellules sont remplies avec des codes.

Ces codes correspondent à un nom en clair. J'ai environ 100 codes.

j'ai une liste de correspondance de chaque code avec son nom en clair.

je voudrai lorsque que je copie la cellule de la feuille source dans ma feuille et dans sa cellule que le code et le nom en clair s'inscrive dans ma cellule.

Un petit exemple : Je reçois une feuille et dans la cellule A1 il y a "MATH"

Si je copie cette cellule de la feuille et que je la colle dans la cellule de ma feuille je voudrai que dans ma cellule il y ait MATH Mathématique.

Merci d'avance à toutes et tous qui vont m'aider.
A voir également:

31 réponses

debutante-excel Messages postés 195 Date d'inscription mardi 26 février 2008 Statut Membre Dernière intervention 31 mars 2011 11
27 févr. 2008 à 22:29
Bonsoir Furtif,

Non pas du tout, c'était juste un exemple.

En fait je peux reformuler ma demande.

je voudrai lorsque que je saisi ce que j'appelle un code en fait qui est généralement composé de 3 lettres et de 2 chiffres que la cellule se remplisse du code saisi ainsi que le nom en clair.

Exemple :

je saisi dans ma celulle VIL01

je fais ENTER

et dans ma celulle j'ai VIL01 Marseille

je saisi TRU60

et dans ma cellule j'ai TRU60 Saint quentin en yvelines.

Donc le code n'est pas le début des noms en clair.

J'espère que c'est plus clair pour tout le monde.

Je rappelle que j'ai une centaine de code et donc une centaine de nom en clair associé que j'ai en liste sur une feuiille excel.

Merci de vos réponses.

Bonne soirée.
2
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
28 févr. 2008 à 07:30
Bonjour

Difficile de modifier le libellé d'un cellule selon l'entrée

une seule solution à mon sens, mais je ne suis pas le meilleur sur le sujet:

Faire une liste des codes+libellé(voir ci après) au dessus de la 1° ligne de code à rentrer, dans la même colonne et masquer les lignes correspondantes selon:
Sélectionner les lignes, barre des taches / Format / Ligne / Masquer
Ensuite
Barre des tâches / Outil / Option/ Onglet modification/
Cocher la case:saisie semi automatique de cellule

Avec cette option Excel, ira chercher dans la liste supérieure l'appelation complète dés que vous aurez écrit la partie
du texte complet correspondante à une seule option de cette liste et l'inscrira automatiquement

Par ailleurs
Je pense que vous pourriez, sur une feuille masquée ou dans deux colonnes loin du champ utilisé, rentrer:

une colonne avec la liste des codes
une colonne avec en correspondance la liste des nlibellés

Vous avez ensuite deux options pour votre tableau, mais il vous faudra toujours trois colonnes.

Donc, admettons:
Votre entrée sur Colonne A,B,C,
En colonne X:
liste des codes
En colonne Y
le tout à partir de la ligne 1jusqu'à la ligne 100
Correspondance des libellés

1° Solution
Colonne A, vous rentrez les codes
Encolonne B,B1 la formule
=A1&RECHERCHEV(A1;$X$1:$Y$100;2;0)
dans ce cas vous avez le code en A1 et le code + le libellé en colonne B

2° solution
en A1 le code
En B1:
=RECHERCHEV(A1;$X$1:$X$100;2;0)
dans ce cas, vous avez le code en A et le libellé seulement en B
Bien entendu ces formules sont à tirer sur la hauteur de votre champ
Attention aux signes: ( & ; $ : )

En dernier lieu vous pouvez aussi:
créer une liste en regroupant les codes et les libellés, simplement avec la formule:=Cellule code& cellule libellé
La nommer:
Sélectionner le champ / barre des tâches / Insertion / Nom / metter le nom souhaité (admettons:liste)
Dans votre colonne de code à remplir:
"autoriser":liste
Source:rentrez le nom de vote liste:LISTE
OK
Ainsi quand vous sélcetionnerez une cellule de ce champ, une liste déroulante des codes completés s'affiche et vous n'avez plus qu'à cliquer sur la réf choisie

0
Furtif Messages postés 9887 Date d'inscription lundi 25 avril 2005 Statut Contributeur Dernière intervention 8 mars 2010 927
27 févr. 2008 à 08:47
Salut

Est-ce que tes "codes" sont toujours les premières lettres du nom complet ?

ex : MATH pour Mathématiques, PHILO pour Philosophie ... Etc. ?
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
27 févr. 2008 à 23:55
re.... :-)

A part une macro pour ton truc je ne vois pas.
Sélectionne la zone que tu veux contrôler et nomme là zoneValidation.
Prépare ta liste de codes et de libellés (2 colonnes avec titres) dans un coin et nomme la 1ère cellule codes.
Les colonnes à gauche et à droite de ta liste doivent être vides ainsi que les 2 cellules après la dernière ligne.
Ta liste peut être dans une autre feuille.

Dans le code de ta feuille colle :
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim s As String, i As Long
    Dim codes()
    If Intersect(Target, Range("zoneValidation")) Is Nothing Then Exit Sub
    If TypeName(Target.Value) <> "String" Then Exit Sub
    s = UCase(Target.Value)
    codes = Range("codes").CurrentRegion
    For i = 2 To UBound(codes)
        If s = UCase(codes(i, 1)) Then
            Application.EnableEvents = False
            Target.Value = codes(i, 2)
            Beep
            Application.EnableEvents = True
            Exit For
        End If
    Next i
End Sub

J'ai mis un bip lorsque la conversion est trouvée mais tu peux supprimer cette ligne
Voici un exemple:
http://www.cijoint.fr/cjlink.php?file=cj200802/cij8189101485714.xls

Dis moi si ça convient
Bonne soirée
eric
0
debutante-excel Messages postés 195 Date d'inscription mardi 26 février 2008 Statut Membre Dernière intervention 31 mars 2011 11
28 févr. 2008 à 00:42
RE,

Donc dans une feuille excel j'ai préparé mes références (codes et libellés).

J'ai laissé la colonne A vide

dans la colonne B j'ai mis un titre en B1 CODES

dans la colonne C j'ai mis un titre en C1 LIBELLES

en B2 commence mes codes et ainsi de suite B3, B4, B5.

en C2 commence mes libellés et ainsi de suite C3, C3, C4.

j'ai sélectionné la celulle B1 (qui est mon titre code que j'ai nommé) "Codes".

ensuite dans ma feuille excel j'ai sélectionné la partie de la colonne que je veux controler et je l'ai nommé "zoneValidation" par insertion nom définir zoneValidation.

Bon, jusque là je pense que j'ai suivi à la lettre tes instructions.

J'ai cliqué sur ton lien et j'ai téléchargé.

Quand je fait Outils Macro Macros je vois qu'il y a une macro cij8189101485714.xls!Macro1

Donc je suis sur une celulle de ma zone de validation. Je saisi un code et voilà il y a rien de plus dans ma cellule.

Comment je dois faire pour coller le code ??????

j'ai du oublier quelque chose !!!!!!!!!

je suis vraiment nulle lolll.

Eriiiiiiiiiiiiiiiiiiiic au se courssssssss
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
debutante-excel Messages postés 195 Date d'inscription mardi 26 février 2008 Statut Membre Dernière intervention 31 mars 2011 11
28 févr. 2008 à 02:07
Re,

Bon j'ai trouvé comment coller le code dans Outils Macro Visual basic Editor.

j'ai regardé dans ton exemple.

quand je saisi un code dans une cellule j'ai l'erreur suivante

erreur d'excéecution 1004 la méthode 'range' de l'objet '_Worksheet' a échouée

et la ligne suivante est en jaune

codes = Range("codes").CurrentRegion

Bon là je suis bloquée, grrrrrrrrrrrrr j'en suis pas loin.

Merci de votre aide.
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
28 févr. 2008 à 07:23
Bonjour,

Hé bé, ça t'a fait passer une nuit blanche... Quelle ténacité :-)
C'est bien dans ton classeur que tu as l'erreur et le classeur exemple fonctionne bien pour toi ?
Fais menu "edition / atteindre', as-tu bien 'codes' dedans et ta feuille avec la liste est-elle bien dans le même classeur que la macro (tu peux la masquer ensuite) ?
Je l'ai fait sur excel 2003...

Sinon, rien à voir avec ton pb, mais tu pouvais démarrer ta liste en colonne A. Le but était qu'il n'y ait pas de valeur à gauche, à droite, au-dessus et au-dessous de ta liste pour que le .currentregion retourne la liste et rien d'autre.

eric
0
débutante-excel
28 févr. 2008 à 09:26
Bonjour eriiiiiiiiiic,

ouiiiiii ca marche super avec ton exemple et c'est exactement ca ce que je veux faire.

en fait dans ton exemple si on met les codes et le libellé sur une autre feuille ca ne marche plus

et c'est ca mon problème je pense.

voilà ou j'en suis

merci de votre aide.
0
débutante-excel
28 févr. 2008 à 16:14
RE eriiic,

Si tu passes sur le forum fais moi signe.

je trouve pas pkoi ca amrche pas avec mon exemple.
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
28 févr. 2008 à 18:39
re,

ok je vois mais là je sors...
peut-être ce soir
eric
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
28 févr. 2008 à 19:05
bonjour débutante-excel,

En fait ton problème vient du fait que VBA ne peux pas gérer le "range" multi-feuilles si tu es sur une feuille.

Tu coupes tout le code d'Eric, dans la feuille, hormis la première et la dernière ligne et tu le colles dans thisworkbook entre ces deux lignes et tu vas voir que la fonction est opérationnelle en multi-feuilles.
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

End Sub

bon test et @+
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
28 févr. 2008 à 20:00
Merci gb,
mais encore un tit problème, sûrement dû au .currentregion qui doit vouloir la feuille active mais je repars et je n'ai pas le temps de tester...
Si tu as le temps de lui ajouter stp (avec screenupdating peut-être..), sinon je verrai plus tard :-)
Merci
bonne soirée tout le monde
eric
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
28 févr. 2008 à 21:21
bonjour eric,

Tu as dû avoir le problème en déplaçant la liste et en fait, il suffit de rajouter en tête de la macro :
   If Target.Count > 1 Then Exit Sub

afin d'éviter de passer sur les target.value qui ne fonctionnent pas en multicellules.
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
28 févr. 2008 à 21:51
re,
heuuuu, en fait j'ai eu un pb en déplaçant le code... il n'avait pas bougé
Voilà ce que c'est de faire en 2 min... :-)
Je laisse ton ajout qui effectivement peut servir, merci.

Donc, débutante, ton code à coller dans thisworkook :
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Dim s As String, i As Long
    Dim codes()
    If Intersect(Target, Range("zoneValidation")) Is Nothing Then Exit Sub
    If Target.Count > 1 Then Exit Sub
    If TypeName(Target.Value) <> "String" Then Exit Sub
    s = UCase(Target.Value)
    codes = Range("codes").CurrentRegion
    For i = 2 To UBound(codes)
        If s = UCase(codes(i, 1)) Then
            Application.EnableEvents = False
            Target.Value = codes(i, 2)
            Beep
            Application.EnableEvents = True
            Exit For
        End If
    Next i
End Sub


et l'exemple:
http://www.cijoint.fr/cjlink.php?file=cj200802/cij7907429105854.xls

eric
0
débutante-excel
29 févr. 2008 à 00:13
Bonsoir,

grrrr ca fait 3 fois que je poste et que ca amrche pas.

me revoilààààààà.

Bon, Eric merci bcppppp ca avance bien mais encore des soucis.

Dans ton exemple ca plante quand on veut rajouter des codes dans la liste.

Et autre problème, aie aie aie j'ai 2 zones dites zoneValidation.

un exemple.

http://www.cijoint.fr/cjlink.php?file=cj200802/cij1170539325903.xls

encore merci pour votre aide.
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
29 févr. 2008 à 07:43
Bonjour,

Pour le 2nd pb tu selectionnes l'ensemble de tes zones avant de définir ton nom, elles peuvent être discontinues.
Le 1er pb me laisse dubitatif, à-priori excel ne sait pas calculer une intersection sur 2 feuilles différentes.
Tu peux le parer en mettant
If Sh.Name <> "Feuil1" Then Exit Sub
en 1ère ligne de code. "Feuil1" étant le nom de la feuille où tu fais la saise, il faudra penser à modifier ici si tu renommes ta feuille.
Bonne journée
eric
0
debutante-excel Messages postés 195 Date d'inscription mardi 26 février 2008 Statut Membre Dernière intervention 31 mars 2011 11
29 févr. 2008 à 21:41
Bonsoir Ericccccc,

Me revoilàààà.

Bon ok ca marche en rajoutant la ligne au début du code.

Par contre concernant mes zones de validation, ca ne marche pas.

C'est peut etre que je ne sais pas sélectionner correctement 2 zones qui sont discontinues.

je grise la première colonne et ensuite j'appuie sur CTRL pour griser la 2 eme colonne .

Aie aie je sens que c'est pas ca, pfffff je suis vraiment nulle.

Mais bon j'avance quand meme.

Allez encore un pti coup de main.

Merci d'avance.
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
1 mars 2008 à 01:16
Bonsoir,

Si si, c'est bien ça.
Essaie encore... ;-)
Si excel t'embete supprime d'abord ton ancienne définition et recrée la en 2 zones.
Ou sinon tu l'édites sous ce format =Feuil1!$C$8:$C$17;Feuil1!$K$8:$K$16 et tu valides par ok
eric
0
debutante-excel Messages postés 195 Date d'inscription mardi 26 février 2008 Statut Membre Dernière intervention 31 mars 2011 11
1 mars 2008 à 08:31
Hellooooo,

Super Eric ca marcheeeeeeee.

Je deviens une Pro d'excel, macro VBA lolllll et ca marche.

Je continue et reviendrai surement t'embeter.

encore merci pour ton aide.
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
1 mars 2008 à 09:28
Super :-)
Pas de soucis, tu ne m'as pas embeté
N'oublie pas de mettre en résolu quand ça te paraitra ok.
Bonne continuation et bonne journée
eric
0
debutante-excel Messages postés 195 Date d'inscription mardi 26 février 2008 Statut Membre Dernière intervention 31 mars 2011 11
1 mars 2008 à 09:45
Re eric,

bon tout est Ok ca marche impec donc je mets en résolu.

et j'ouvre un autre post avec une autre tite demande.

Bonne journée.
0