Excel problème concaténation

Fermé
stages.stages Messages postés 21 Date d'inscription mardi 3 novembre 2009 Statut Membre Dernière intervention 4 mars 2010 - Modifié par irongege le 4/03/2010 à 15:10
 Yvon - 4 mars 2010 à 16:36
Bonjour,

J'aimerais présenter dans ma défense orale, une des tâches que j'ai dû réaliser.

Je devais compléter des informations dans une base de données en tenant compte de certains renseignements de cette base de données et d'autres renseignements contenus dans une autre base de données.

Pour ce faire, j'avais dû utiliser la fonction CONCATENER pour utiliser une recherche verticale tenant compte de plusieurs paramètres (Article et Date futur).

Lorsque j'étais en stage, je n'ai pas eu de soucis tout fonctionnait parfaitement sous Excel 2002.

Pour ma défense, j'aimerais montrer cette tâche avec des bases de données exemples, car les données de l'entreprise sont confidentielles.

Chez moi, j'utilise Excel 2003 et quand j'utilise la fonction CONCATENER dans la colonne C, il affiche la date de départ de la colonne A (31/12/2009...) en format nombre (40178...).

Pour être clair et précis voici ce que j'aimerais et ce que j'ai actuellement:

- en C2 50001 31/12/2009 au lieu de 50001 40178,
- en C3 50001 31/12/2010 au lieu de 50001 40543,
- en C4 50001 31/12/2011 au lieu de 50001 40908.

Voici le classeur https://www.cjoint.com/?dejBjBvkqv

Si quelqu'un pouvait m'expliquer pourquoi en stage sous Excel 2002, je n'ai pas eu de soucis avec la concaténation et pourquoi sous Excel 2003, j'ai des soucis; cela m'arrangerait, car j'aimerais comprendre.

MERCI BEAUCOUP

PS: au départ j'avais mis le classeur sur un autre site que https://www.cjoint.com/ pourquoi ce forum n'a pas voulu accepter le lien? À cause de cela, mon message ne s'inscrivait pas sur ce forum.

12 réponses

Bonjour,

Je ne saurais t'expliquer les raisons de ton problème, étant moi même débutant en la matière,
mais je pense qu'inclure une fonction TEXTE dans la fonction CONCATENER peut t'aider:
pour la cellule C1:
=CONCATENER(A1;" ";TEXTE(B1;"jj/mm/aaaa"))

La fonction texte sert ici à "forcer" l'affichage de la date sous le format que tu veux; de même, si tu avais voulu le format "50001 31-décembre-2009", tu utiliserais:
=CONCATENER(A1;" ";TEXTE(B1;"jj-mmmm-aaaa"))

Cordialement
1
Bonjour

Est-tu certain que lorsque tu travaillais sous excel 2002, les cellules "Date futur" contenaient bien une valeur au format date et non texte.
En format date, l'affichage n'est qu'une interprètation de la valeur stockée qui reste un nombre.
A première vue, c'est la seule expllication possible.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 430
4 mars 2010 à 10:00
Bonjour pas trop léger comme solutoin avec excel:
pour un texte à éditer en C1 à partir de A1 et B1:
=A1&" "&JOUR(B1)&"/"&MOIS(B1)&"/"&ANNEE(B1)
Crdlmnt
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 430
4 mars 2010 à 10:11
Complément à mon message précédent:
ma proposition ne correspond pas à l'ordre de votre fichier, que j'ai vu après.
le voila au point:
http://www.cijoint.fr/cjlink.php?file=cj201003/cijtCA8ieZ.xls
une autre option si vous préférez:
mettre une apostrophe (qui n'apparait pas ailleurs que dans la barre de formule) devant les dates et concatener:
=B2&"&A2 (entre guillemets pour avoir un blanc entre les deux termes.
Par contre, pour utiliser la cellule B2 dans d'éventuelles autres formules de calcul, il faudra la retransformer en num, et donc écrire A2*1 ou DATEVAL(B8)
Crdlmnt
0

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

Posez votre question
plastickman Messages postés 64 Date d'inscription mercredi 5 décembre 2007 Statut Membre Dernière intervention 8 février 2012 6
4 mars 2010 à 10:14
Bonjour,
J'ai télécharger ton classeur et j'ai bien les valeurs que tu attends en C2, C3 et C4. Par contre j'ai une version plus récente de Microsoft Office. Essaye peut-être de mettre tes cellules de la colonne "Date future" sous la forme JJ/MM/AA au lieu de JJ/MM/AAAA. Je crois que le problème pourrait venir de là mais je ne peux pas tester.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 430
4 mars 2010 à 10:27
Bravo, Hyp, pas mal pour un débutant d'autres occasions de vous croiser ici, si vous voulez bien vous inscrire
Crdlmnt
0
stages.stages Messages postés 21 Date d'inscription mardi 3 novembre 2009 Statut Membre Dernière intervention 4 mars 2010
4 mars 2010 à 12:15
Bonjour,

J'ai le classeur que j'ai utilisé en stage sous les yeux et là même sous Excel 2003, il affiche tout correctement. Toutes les colonnes entrant dans la formule CONCATENER sont au format standard.

Néanmoins, j'ai utilisé la fonction SUPPRESPACE dans la base de données au stage sur la colonne Article et sur la colonne Date futur, car les données venaient d'un ERP et donc, il y avait parfois des espaces en fin de cellule, ce qui est emmerdant quand on utilise des fonctions d'Excel.

La colonne Article de départ est au format texte, mais ma colonne Article Supprespace est elle au format standard. J'ai utilisé cette concaténation: colonne Date futur Supprespace, un espace, colonne Article Supprespace.

Je veux bien utiliser vos propositions mais je dois présenter cela oralement; donc, plus il y aura des particularités dans les formules, plus ce sera difficile à expliquer.

J'ai essayé la formule en C2 =CONCATENER(B2;" ";TEXTE(A2;"jj/mm/aaaa")) cela fonctionne je n'ai plus de problème.

Néanmoins, je ne comprends pas pourquoi dans le classeur du stage, tout fonctionne normalement et pourquoi dans mon classeur exemple, la concaténation rencontre ce problème.

Si quelqu'un a une explication, je reste tout ouïe.

Au fait, pourquoi n'est-il pas possible de mettre un lien vers un classeur qui ne vient pas de https://www.cjoint.com/?

J'ai trouvé un site où l'on doit créer un compte pour mettre des fichiers, donc, le classeur peut rester plus longtemps accessible qu'avec le site https://www.cjoint.com/, malheureusement, je ne peux même pas mentionner le nom du site, ce forum ne l'accepte pas.

MERCI
0
UsulArrakis Messages postés 7405 Date d'inscription vendredi 28 mars 2003 Statut Contributeur Dernière intervention 27 janvier 2022 3 190
4 mars 2010 à 12:50
salut
pour mettre un fichier en ligne utilise http://www.cijoint.fr/index.php
0
tontong Messages postés 2572 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 14 mars 2025 1 062
4 mars 2010 à 13:54
Bonjour à tous,
Juste une suggestion pour dégrossir une tentative d'explication.
Dans votre classeur initial la colonne "Date futur" est au format standard mais les données sont elles des nombres ou du texte?
Le moindre espace ou la moindre coche ' et la date devient du texte.
Pour vous en assurer appliquez dans une cellule libre une formule = ESTNUM(A2). Le résultat "vrai ou faux" sera révélateur.
Bonne recherche.
0
stages.stages Messages postés 21 Date d'inscription mardi 3 novembre 2009 Statut Membre Dernière intervention 4 mars 2010
4 mars 2010 à 15:10
Bonjour tontong,

Dans le classeur du stage, j'ai vérifié si les données dans les colonnes ci-dessous étaient des nombres avec la fonction ESTNUM:

Date futur,
Date futur Supprespace,
Article,
Article Supprespace,
Article + Espace + Date futur.

Verdict: elles ne le sont pas.

Ensuite, j'ai vérifié si ces données étaient du texte avec la fonction ESTTEXTE.

Verdict: elles le sont.

Dans mon classeur d'exemple, les données dans les colonnes Date futur et Article sont des nombres; les données dans la colonne Article + Espace + Date futur sont du texte.

Donc, voilà d'où viendrait le problème.

Néanmoins dans les deux classeurs, les données la colonne Article + Espace + Date futur sont du texte alors pourquoi y a-t-il une différence dans l'écriture ou l'affichage (je ne sais pas quel terme est le plus terme adéquat)?

MERCI
0
tontong Messages postés 2572 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 14 mars 2025 1 062
4 mars 2010 à 15:32
Je reste perplexe à cet instant. Dans le fichier joint à votre premier message les dates en colonne A étaient des nombres. Ce constat m'avait conduit aux questions du post 9.
0
stages.stages Messages postés 21 Date d'inscription mardi 3 novembre 2009 Statut Membre Dernière intervention 4 mars 2010
4 mars 2010 à 15:48
Bonjour tontong,

J'ai retourné le problème dans tous les sens, mais je ne comprends pas la raison de cette différence entre le classeur du stage (je ne peux pas le mettre ici vu qu'il est confidentiel) et mon classeur d'exemple.

Ma défense orale a lieu demain soir. Donc, le mieux, c'est d'expliquer que j'ai dû utiliser deux formules différentes entre le stage et chez moi, mais que je n'ai pas trouvé la raison du problème.

Stage: =CONCATENER(E2;" ";C2)
Chez moi: =CONCATENER(B2;" ";TEXTE(A2;"jj/mm/aaaa"))

MERCI
0
Bonjour

Je pense que si les valeurs contenues dans la colonne "Date futur" de la version stage avaient été formatées en dates à l'origine, la fonction SUPPRESPACE aurait ramené la valeur numérique représentant la date au format excel et l'aurait transformée en chaîne de caractères.
Si la date est alors restée affichée normalement, c'est qu'elle était déja une chaîne et il est donc normal que la formule ait donné le résultat désiré, ce qui n'est pas le cas avec la version 'maison' ou la colonne contient de véritables dates.
0