Définir et modifier le nombre de caractère dans une cellule Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
D
DiMac06
Nouveau venu
Nouveau venu
Messages : 5
Inscrit le : 19 juin 2009
Version d'Excel : 2007FR

Message par DiMac06 » 19 juin 2009, 13:20

Bonjour,

1er post ;)

Comment peut-on définir le nombre de caractère dans une cellule, et surtout le cas échéant rajouter des caractères si la cellule n'est pas complète pour quelle contienne le nombre de caractère défini.

En fait j'ai besoin de faire cette modification pour transférer un fichier excel en fichier txt. Dans le fichier txt la position du caractère est importante, donc le nombre de caractère par cellule aussi.

Ex :
=> sous Excel :
n° de ligne // N° Compte // année // mois // jour // nom // adresse // montant
0001 // 00054747 // 2009 // 06 // 18 // M. MICHELINNE // 00045900
=> doit devenir sous txt :
00010005474720090618M. MICHELINNE 00045900

Cela signifie : que les caractères 21 à 51 correspondent au nom ("M MICHELINNE")

Mon problème c'est que chaque colonne à un nombre défini de caractère (ex :N° de ligne = 4 caractères, Nom = 30 caractères)
Pas de problème pour tous les chiffres, il suffit de rajouter des 0 (dans "format de cellule").
Par contre pour le nom le nombre de caractère est défini à 30 caractères. Or évidement les noms ne sont pas tous de la même longueur (en nombre de caractère).

Ma question : comment compléter une cellule pour quelle fasse obligatoirement 30 caractères quelques soit la valeur (alphanumérique) de la cellule (que se soit M. YIN ou M. RASTAPOPROTOPOFFINE ?)

Merci d'avance !
Avatar du membre
Sylvain TBM
Membre dévoué
Membre dévoué
Messages : 538
Inscrit le : 11 juin 2008
Version d'Excel : 2003 FR

Message par Sylvain TBM » 19 juin 2009, 13:36

Bonjour et bienvenue sur le forum :bv3:

Si utilisation de VBA :arrow: une inspiration :
 Dim Nom As String * 30
La variable "Nom" contient alors une chaîne de longueur 30. Si l'on n'affecte que 18 caractères dans une telle chaîne, le reste est rempli d'espaces. Si l'on affecte plus de 30 caractères le surplus est tronqué.
Il vaut mieux 10 qui savent que 1 qui cherche....
D
DiMac06
Nouveau venu
Nouveau venu
Messages : 5
Inscrit le : 19 juin 2009
Version d'Excel : 2007FR

Message par DiMac06 » 19 juin 2009, 13:47

Dsl mais non, je n'utilise pas VBA ! Je n'utilise que les fonctions de bases de Excel. Même pas de macros. Mon fichier est destiné à être utilisé à l'étranger, alors faut que je fasse simple !

Si tu as une autre idée ...

En tout cas merci pour la rapidité de ta réponse !

A+
t
thibo
Passionné d'Excel
Passionné d'Excel
Messages : 3'074
Inscrit le : 3 mai 2007
Version d'Excel : Excel 2003 + 2007

Message par thibo » 19 juin 2009, 13:53

Bonjour,

Une piste :

Dans une cellule intermédiaire, tu pourrais utiliser ce genre de formule :

=A1&REPT("0";8-NBCAR(A1))

permet de compléter la cellule A1 à 8 caractères en complétant avec des zéros.

Je te laisse tester.

@+
D
DiMac06
Nouveau venu
Nouveau venu
Messages : 5
Inscrit le : 19 juin 2009
Version d'Excel : 2007FR

Message par DiMac06 » 19 juin 2009, 14:13

Super !!! on va y arriver comme ça !!
comme dit Desproges : "C'est un peu "capilotracté"" ... Mais ça marche !

Merci encore pour la rapidité des réponses !!
Champions ! :D
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message