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
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
A voir également:
- Comment convertir un code en clair en excel
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Mise en forme conditionnelle excel - Guide
- Le code ascii en informatique - Guide
- Convertir youtube en mp3 avec audacity - Guide
- Liste déroulante excel - Guide
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
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.
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.
Furtif
Messages postés
9887
Date d'inscription
lundi 25 avril 2005
Statut
Contributeur
Dernière intervention
8 mars 2010
928
27 févr. 2008 à 08:47
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. ?
Est-ce que tes "codes" sont toujours les premières lettres du nom complet ?
ex : MATH pour Mathématiques, PHILO pour Philosophie ... Etc. ?
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
27 févr. 2008 à 23:55
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 :
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
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
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
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
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
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
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.
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.
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
28 févr. 2008 à 07:23
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
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
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.
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.
RE eriiic,
Si tu passes sur le forum fais moi signe.
je trouve pas pkoi ca amrche pas avec mon exemple.
Si tu passes sur le forum fais moi signe.
je trouve pas pkoi ca amrche pas avec mon exemple.
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
28 févr. 2008 à 18:39
28 févr. 2008 à 18:39
re,
ok je vois mais là je sors...
peut-être ce soir
eric
ok je vois mais là je sors...
peut-être ce soir
eric
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 712
28 févr. 2008 à 19:05
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.
bon test et @+
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 @+
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
28 févr. 2008 à 20:00
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
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
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 712
28 févr. 2008 à 21:21
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 :
afin d'éviter de passer sur les target.value qui ne fonctionnent pas en multicellules.
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.
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
28 févr. 2008 à 21:51
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 :
et l'exemple:
http://www.cijoint.fr/cjlink.php?file=cj200802/cij7907429105854.xls
eric
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
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.
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.
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
29 févr. 2008 à 07:43
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
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
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
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.
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.
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
1 mars 2008 à 01:16
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
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
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
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.
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.
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
1 mars 2008 à 09:28
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
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
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
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.
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.
28 févr. 2008 à 07:30
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