Fichier Excel avec limitation de caractères ds les colonnes

Bonjour

voici mon projet:

je dois extraire un fichier d'une application paie avec : nom,prénoms,code banque, code guichet,rib, montant. En tout un fichier de 07 colonnes.

la banque où sont domicilés nos salaires, nous demande de créer un fichier excel avec les conditions suivantes:

  • Une colonne : nom & prénoms de 25 caractères maximum
  • Une colonne: code banque de 1-3 caractères
  • Une colonne : code guichet & rib de 16 caractères obligatoirement.
  • Une colonne : Montant
Je pense dans un premier temps à créer ce fichier excel vide en définissant le nombre de caractères autorisés pour chaque colonne, puis l'alimenter du fichier sources en appliquant les concatination et les autres formules nécéssaires.

c'est quoi la pproche idéale et comment produire ce fichier svp

merci pour votre aide.

Bonjour,

L'approche idéale est de nous fournir un fichier source...

Comme on n'a pas besoin des N° exacts mais juste de la mise en forme d'origine, remplacer tous les 3 , 4, 5 par des 7 par exemple, ça suffira largement pour préserver la sécurité...

Vous pouvez également remplacer tous les E, S, A, N, T par des R...

S'il y a des colonnes parasites, supprimer le contenu en colorant les colonnes dont le contenu a été supprimé...

A+

bonjour

merci pour votre suivi

en fait avant de vous envoyer le fichier, j'ai bien trouver une macro qui répond exactement à mon besoin.

je l'ai joints ci-dessous.

c'est à dire il faut spécificier le nombre de colonnes désirées et leurs tailles puis la macro donne un fichier txt formaté comme voulu.

Mon problème est que mon fichier de données est extrait en .csv, quand je fais copier coller des colonnes souhaitées sur "données à exporter" la macro m'affiche une erreur ( voir la pièce jointe).

mais quand je tente de remplir manuellement quelques données ( 03 lignes par exemple) la macro s'exécute et me donne le résultat.

je tente d'analyser le problème en copiant uniquement une ligne du fichier .csv , mais la macro signale une erreur.

qu'est ce que cela peut etre ?

merci

sans titre

Bonjour titof, galopin01

Je pense que galopin01 sera de mon avis : on peut toujours pas t'aider !

Il nous faut "la forme précise" (pas forcément les données - de toute façon elles sont confidentielles, c'est évident ! -, juste comment sont distribuées les colonnes) du fichier CSV généré par le logiciel de paye !

A partir de là nous pourrons élaborer une stratégie pour résoudre ton problème, et contenter ta banque !

c'est très important de rester en bon terme avec sa banque

Donc nous voudrions un truc du genre :

titof a écrit :

Mon fichier CSV se présente comme ça

colonne1;colonne2;colonne3;....colonneN

NOM;PRENOM;ADRESSE;RIB;CODE POSTAL;GUICHET;VILLE;...

pour que nous sachions où puiser les informations nécessaires et suffisantes !

bonjour

mon fichier extrait serait ainsi en csv;

colonne1;colonne2;colonne3;colonne4;colonne5;colonne6

nom(12);prenom(12);code bank(4);code guichet(4);rib(11);montant(15)

je dois le transformer en fichier TXT ainsi:

colonneA colonneB colonneC colonneD -------------04 colonnes pas de tabulations ni de points virgules......

tels que:

colonneA= nom et prénoms ( 1<cc<=24)

colonneB=Code banque ( 1<cc<=3)

colonneC= codeguichet & rib ( cc=17)

colonneD= Montant (pas de restrictions de cc)

dés que j'extrait le fichier je vous envoies un exemple

merci

(re)

Il y a du mieux !

titof a écrit :

mon fichier extrait serait ainsi en csv;colonne1;colonne2;colonne3;colonne4;colonne5;colonne6nom(12);prenom(12);code bank(4);code guichet(4);rib(11);montant(15)

c'est un bon début pour pouvoir commencer à travailler

Par contre que veux tu vraiment ???

un fichier TXT

[quote="titof (ton dernier message) "]je dois le transformer en fichier TXT ainsi:colonneA colonneB colonneC colonneD -------------04 colonnes pas de tabulations ni de points virgules......[/quote]

ou un fichier EXCEL

[quote="titof (ton premier message) "]la banque où sont domicilés nos salaires, nous demande de créer un fichier excel avec les conditions suivantes:[/quote]

ok andréa merci pour la précision

en fait on nous demande un fichier excel

mais comme j'ai trouvé une issue pour réaliser un fichier txt je me suis dis peut être il leur conviendra aussi..

mais la demande officielle est un fichier excel

du moins pour le fichier txt j'arrive à trouver des macros ...(..) mais pour faire le fichier j'étais complètement bloqué ..

merci donc de m'aider dans ce sens

trés cordialement

(re)

Est-ce bien ça ?

capture

Re

Exact

sauf que 17 cc obligatoires pas 16

(re)

titof a écrit :

Exact

titof a écrit :

sauf que 17 cc obligatoires pas 16

ou
titof a écrit :

- Une colonne : code guichet & rib de 16 caractères obligatoirement.

perso il me semble que les banque travaille avec 16 car.

Je pense donc que 17 = [CodeGuichet 5] +[espace] +[RIB 11] parce que "ta banque" veux séparer le guichet du RIB (à confirmer !)

(re)

Donc voilà... avec cette hypothèse

andrea73 a écrit :

Je pense donc que 17 = [CodeGuichet 5] +[espace] +[RIB 11] parce que "ta banque" veux séparer le guichet du RIB (à confirmer !)

si la banque n'est pas satisfaite elle n'aura qu'à me joindre pour me donner les bonnes informations non je blague on corrigera !

Re

non Andrea je viens de vérifier c'est 17 ,aucun espace.

Re

A vrai dire j'ai pris un fichier csv avec plus de colonnes mais j'ai supprimer certaines pour ne garder que les 6 colonnes de départ.

J"ai fait copier/coller simple de toutes les cellules dans la feuille de ton csv, j"ai testé et il se trouve que il y'a des erreurs dont je t envoie les captures.

je pense que t as fait un bon chemin avec moi, j espère arriver à une solution définitive

cordialement,

sans titre1 sans titre2

(re)

Ok pour 17 sans espace !

L'erreur vient de la forme de données tests (avec des caractères) donc csvgch + " " + csvrib fonctionne

Or dans ton fichier CSV évidement, tu dois avoir plutôt des chiffres, ou même un mélange des deux...

donc il faut mettre csvhch & csvrib (à l'endroit de l'erreur) à la place et ça devrait fonctionner (j'en profite au passage pour te faire supprimer le "espace" puisqu'inutile !)

Re Andrea

Je viens de tester en modifiant suivant ta recommandation, certe je n'ai plus d'erreur d'éxécution, Mais;

Apparemment pour la colonne nom & prénoms, il prend le nom & les 04 premiers CC du nom meme !!, exemple:

Platini Michel -------> Platini Plat

Autre chose, c'est vrai l'erreur première du bug était que le RIB est en chiffres..., bon c'est corrigé, mais le résultat donne pour cette colonne ( guichet& rib) pour 1214100361010 ---------> 1,2141E+12 !!

je cherchais à mettre en forme toute la colonne du RIB en format texte, mais je ne parviens encore.

je pense qu'il reste quelques finalisations, mais je te remercie déja d'avance

(re)

effectivement

titof a écrit :

Apparemment pour la colonne nom & prénoms, il prend le nom & les 04 premiers CC du nom meme !!, exemple: Platini Michel -------> Platini Plat

voici la correction (figure 1) à apporter (j'ai du faire un copier/coller sans corriger) - elle se situe un peu avant la position de la dernière erreur !

Par contre pour le

titof a écrit :

1214100361010 ---------> 1,2141E+12 !!

il faut mettre le format dans VBA et donc corriger ainsi (cf. figure 2)

capture 03 capture 04

RE

c'est presque !

For csvLigAct = 1 To UBound(tabImport, 1)

csvnom = tabImport(csvLigAct, 1)

csvpre = tabImport(csvLigAct, 2)

tabBanque(csvLigAct, 1) = Trim(Left(csvnom + " " + csvpre, 25))

tabBanque(csvLigAct, 2) = Left(tabImport(csvLigAct, 3), 3)

csvgch = Format(tabImport(csvLigAct, 4), "00000")

csvrib = Format(tabImport(csvLigAct, 5), "#0")

tabBanque(csvLigAct, 3) = csvgch & csvrib

Mais cette fois : il prend le nom & les 04 premiers CC du prénoms !!, exemple:

Platini Michel -------> Platini Mich

Aussi le résultat du ( guichet& rib) pour 1214100361010 donne tjrs---------> 1,2141E+12 !!

Bonjour

Théoriquement Non pour

titof a écrit :

Mais cette fois : il prend le nom & les 04 premiers CC du prénoms !!, exemple:Platini Michel -------> Platini Mich

Il concatène le NOM et un espace et le PRENOM et il prende les 25 premiers carractères

Si tu as 4 car. sur le PRENOM c'est donc sans doute que le NOM (fait 20 car.) + esapce + PRENOM ramené à 25 = 4 car. pour le PRENOM ???

Bonjour,

Pour le RIB et le numéro de compte, essaie simplement :

tabBanque(csvLigAct, 3) = CStr(csvgch & csvrib)

Cdlt.

Bonjour à tous

je fais l'extraction du csv en définissant le nom sur 20cc et le prénom sur 20cc.

Je pense que nous devons faire supprimer les espaces non significatifs avant de faire la concaténation (...?), parceque si je diminue les tailles des colonnes sources , je risque d'avoir des noms ou des prénoms tronqués.

donc:

1- extraction des nom et prénoms

2- Suppression des espaces insignifiants

3- concaténation dans une colonne à 25cc

je vérifie pour jean eric, mais où insérer cela?

Rechercher des sujets similaires à "fichier limitation caracteres colonnes"