XL 2016 Concaténer du texte, y compris si c’est une date

Mizaël

XLDnaute Nouveau
Bonjour

Je cherche une solution (et je l’ai peut-être sous la main, mais je tourne en rond) pour, à partir d’une colonne qui contient des chaînes alphanumériques de 10 caractères (ex.: GJHG6JHGF4) mais aussi des dates (ex.: 11/02/2005), ajouter une chaîne de caractères dans une nouvelle colonne :

Je voudrais donc ça :
  • GJHG6JHGF4 --> GJHG6JHGF4hop
  • 11/02/2005 --> 11/02/2005hop
Je peux transformer ma date numérique en date textuelle, en utilisant les fonctions JOUR, MOIS, ANNEE et un concaténage :

=JOUR(E2)&"/"&MOIS(E2)&"/"&ANNEE(E2)&"hop"​

Mais je n’arrive pas à lui faire différencier les cases qui contiennent une date (pour lesquelles cette formule fonctionne) et celles qui contiennent la chaîne alphanumérique (pour lesquelles cette formule ne fonctionne pas, et où j’aurai juste à faire un simple concaténage de texte). Ça donnerait ça :

=SI(E2 est une date ;JOUR(E2)&"/"&MOIS(E2)&"/"&ANNEE(E2)&"hop";E2&"hop")​

Il y a de toute façon probablement plus simple que cette façon de faire...
Je précise que je ne peux pas utiliser de VBA dans l’environnement où je travaille.

Pourriez-vous m’aider sur ce sujet ?

Bonne journée
 

Mizaël

XLDnaute Nouveau
Merci Etoto pour la fonction de test numérique ! Ça me paraît tout à fait judicieux.

@job75 : non c’est bien une version française et la fonction TEXTE est bien reconnue comme telle (quand on l’écrit en minuscule, Excel la converti en majuscule, ça ne trompe pas), et pourtant j’ai toujours ce même retour de l’erreur #VALEUR! pour le traitement de la date.

Je vous joins un extrait anonyme du fichier d’origine, si vous avez l’occasion de le tester.
 

Pièces jointes

  • IDENTIFIANTS NUMÉRIQUES ÉLÈVES doc travail vdemo.xlsx
    12.4 KB · Affichages: 5

Mizaël

XLDnaute Nouveau
Ah oui ! C’est que j’avais recopié le code de Etoto sans faire attention, mais c’est bon aussi : ça changerait juste le formatage de la date.
Pour le coup toi ça fonctionne en ligne 3 ? Parce que moi non, j’ai bien toujours l’erreur...

Au final, c’est bien la fonction TEXTE qui bloque, parce que ça ça fonctionne (même si c’est compliqué) :

=SI(ESTNUM(F2);JOUR(F2)&"/"&MOIS(F2)&"/"&ANNEE(F2)&"hop";F2&"hop")

J’ai vraiment l’impression que, pour une raison inconnue, ça ne fonctionne pas sur la version d’Excel de la maison. Je vais essayer au boulot si ça fait pareil.
 

Pièces jointes

  • IDENTIFIANTS NUMÉRIQUES ÉLÈVES doc travail vdemo.xlsx
    12.4 KB · Affichages: 9
Dernière édition:

australopitheque

XLDnaute Nouveau
Ah oui ! C’est que j’avais recopié le code de Etoto sans faire attention, mais c’est bon aussi : ça changerait juste le formatage de la date.
Pour le coup toi ça fonctionne en ligne 3 ? Parce que moi non, j’ai bien toujours l’erreur...

Au final, c’est bien la fonction TEXTE qui bloque, parce que ça ça fonctionne (même si c’est compliqué) :

=SI(ESTNUM(F2);JOUR(F2)&"/"&MOIS(F2)&"/"&ANNEE(F2)&"hop";F2&"hop")

J’ai vraiment l’impression que, pour une raison inconnue, ça ne fonctionne pas sur la version d’Excel de la maison. Je vais essayer au boulot si ça fait pareil.
oui chez moi ça fonctionne mais je suis en version 2019,je sait pas si cela change quelque chose.
 

job75

XLDnaute Barbatruc
Bonjour,
je suis en version 2019
Moi aussi.

Chez moi SI(ESTNUM(F2) est inutile, comme dit au post #2 =TEXTE(F2;... suffit, fichier (1).

Chez vous la valeur d'erreur en G3 n'est pas normale, essayez peut-être en G2 :
Code:
=SI(ESTNUM(-F2);TEXTE(--F2;"jj/mm/aaaa");F2)&"hop"
qui force la conversion en F3 (qui pourtant est bien numérique), fichier (2).

A+
 

Pièces jointes

  • IDENTIFIANTS NUMÉRIQUES ÉLÈVES doc travail vdemo(1).xlsx
    12.3 KB · Affichages: 4
  • IDENTIFIANTS NUMÉRIQUES ÉLÈVES doc travail vdemo(2).xlsx
    12.5 KB · Affichages: 3
Dernière édition: