XL 2016 Export .csv avec conditions sur format de cellule

  • Initiateur de la discussion Initiateur de la discussion mactoche
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

mactoche

XLDnaute Nouveau
Bonjour à tous

Je suis en train de formater un fichier d'export .csv mais j'aimerais qu'il est un certain alignement une fois ouvert par UltraEdit (ou autre éditeur txt)
Je m'explique

Pour le moment mes exports sont de cette forme :
Mon soucis vient des colonnes C & D, en effet la C doit avoir un format de 7 caractères et la D de 10 caractères, si le chiffre ou lettre saisi dedans ne fait pas le nombres max de caractères alors dans l'export il doit y avoir des espaces pour aligner les colonnes

A B C D E F G H I J K
2020-08-20_08h12_47.png


Alignement des colonnes doit être comme sur ce fichier

A B C D E F G H I J K
2020-08-20_08h17_45.png


On constate aussi que sur la 2ème image chaque lignes se terminent par un ;
Alors que sur le 1er fichier se n'est pas le cas.

J'ai regardé et testé tous les formats de cellules, il n'y a qu'avec le caractère "0" que j'arrive à formater la colonne "C" correctement, dès qu'il y a un enchaînement de chiffres je ne sais plus le faire. Idem pour la colonne D qui elle a soit 3 caractères soit 10 donc le formatage de 10 obligatoire est complexe.
Avez vous une idée simple pour ce pb ?

Merci d'avance
Kriss
 
Bonjour à tous,

Si les données des colonnes "C" et "D" sont des formules, peut-être rajouter à ta formule la fonction texte() ou rept().
=TEXTE("Ta formule";"0000000")
cela mettra des "0" devant le chiffre si il est inférieur à 7 caractères.
ou
=TEXTE("Ta formule";"??????0")
cela mettra des blancs devant le chiffre si il est inférieur à 7 caractères.
ou
=REPT(" ";7-NBCAR("Ta formule"))&"Ta formule"

JHA
 
Merci pour ce retour JHA

il n'y a en fait pas de formule dans ces cellules, juste du texte.
J'ai besoin de combler les vides par des "espaces", donc tu me conseils de mettre des "?" c'est ça ?
Ex : =TEXTE("???????0")

Et si la cellule est remplie par "996" ou "AFR" cela va fonctionner ?

Merci
Kriss
 
@JHA je viens de tester cette formule dans la cellule
=TEXTE("996";"??????0")
mais cela me met les espace avant le chiffre 996 alors qu'ils doivent être après.
Et il faudrait que je face ça a toutes les cellules en respectant le chiffre dedans, ce serait trop long.

2020-08-20_09h33_24.png


En fait je me demande si il existe une possibilité en personnalisant le format de cellule comme sur la photo :

En sachant que ma cellule a un nombre de 5 caractères (20840) et que la cellule doit en avoir 7 je force le format : #" " (avec 2 espaces)
Mais comme toutes mes cellules n'ont pas le même nombre comment formaliser à toutes les cellules le fait qu'elles doivent avoir 7 caractères max, et qu'en cas de nombre inférieur à 7 caractères combler avec des "ESPACES" après le nombre.

2020-08-20_09h35_28.png


Merci
Kriss
 
Bonjour à tous,

Un format personnalisé ne modifie pas la donnée brute, c'est du tape à l'oeil.
Si tu ajoutes une colonne cela doit pouvoir le faire avec la formule proposée sinon, il ne te reste plus que VBA mais là je ne peux pas t'aider, désolé.

JHA
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
474
Réponses
13
Affichages
136
Réponses
5
Affichages
318
Réponses
11
Affichages
568
Réponses
10
Affichages
563
Retour