Complétion d'une chaine dans une cellule

Bonjour,

J'ai des cellules dans une colonne qui sont composées de 2 nombres séparés par un espace.

ces 2 nombres forment un bloc de 3 chiffres. Exemple:

0 200

156 236

300 55

5 6

Je souhaiterais afficher dans une autre colonne le résultat suivant:

000 200

156 236

300 055

005 006

En résumé je rajoute autant de 0 devant chaque bloc pour obtenir 2 blocs de 3 chiffres.

Pourriez vous svp m'aider à trouver la formule (sans code VBAn seulement excel) permettant d'obtenir ce résultat ?

Merci

Bonjour,

Essaie avec :

=REPT("0";3-NBCAR(GAUCHE(A1;CHERCHE(" ";A1)-1)))&GAUCHE(A1;CHERCHE(" ";A1)-1)&" "&REPT("0";3-NBCAR(DROITE(A1;NBCAR(A1)-CHERCHE(" ";A1))))&DROITE(A1;NBCAR(A1)-CHERCHE(" ";A1))

En essayant la formule, je me suis aperçu que certaines cellules n'ont pas le même format. en fonction du format, le résultat n'est pas le même.

Ci-joint mon fichier pour exemple. quand la cellule est de type standard, la formule fonctionne.

il faudrait trouver un moyen de convertir la colonne originale dans un format unique, puis d'appliquer une nouvelle formule depuis cette colonne.

Qu'en pensez-vous ?

Merci.

4classeur1.xlsx (17.31 Ko)

J'ai trouvé une solution en utilisant SIERREUR() mais ce n'est pas très propre ...

1classeur2.xlsx (21.54 Ko)

Bonjour,

En utilisant une espace pour séparer des groupes de chiffres, tu dois tenir compte que l'espace est le séparateur de milliers dans les paramètres FR. Donc lorsque cette espace se trouve dans la position de séparer des milliers, elle est interprétée comme telle et Excel prend en compte la valeur saisie comme un nombre auquel il applique automatiquement un format de cellule avec séparateur de milliers. Si l'espace n'est pas dans une position de séparateur de milliers, Excel interprète la saisie comme texte.

Tu peux immédiatement distinguer les deux cas dans la colonne, les nombres sont cadrés à droite dans les cellules, le texte à gauche.

Ta formule traite du texte, elle renvoie une erreur en cas de nombre... !

Cordialement.

Bonjour,

Une contribution basée sur la proposition de notre ami Oyobrans :

=SI(ESTNUM(A2);TEXTE(A2;"000 000");REPT("0";3-NBCAR(GAUCHE(A2;CHERCHE(" ";A2)-1)))&GAUCHE(A2;CHERCHE(" ";A2)-1)&" "&REPT("0";3-NBCAR(DROITE(A2;NBCAR(A2)-CHERCHE(" ";A2))))&DROITE(A2;NBCAR(A2)-CHERCHE(" ";A2)))

Salut JFL ! Formule un peu différente :

=SI(ESTNUM(A2);TEXTE(A2;"000 000");TEXTE(CNUM(GAUCHE(A2;CHERCHE(" ";A2)-1))*1000+CNUM(STXT(A2;CHERCHE(" ";A2)+1;3));"000 000"))

Cordialement.

Merci à tous pour votre contribution, vos 2 dernières formules fonctionnent à merveille !

Rechercher des sujets similaires à "completion chaine"