IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Personnaliser le traitement d'un fichier texte adapté à ma situation [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2011
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2011
    Messages : 571
    Points : 93
    Points
    93
    Par défaut Personnaliser le traitement d'un fichier texte adapté à ma situation
    Salut le forum

    J’ai un fichier texte que je souhaite qu’on m’aide à automatiser son traitement.
    En effet, mon dossier contient 32 fichiers texte que je dois retraiter manuellement.
    Le traitement est récurrent et c’est toujours le même procédé ; voila pourquoi je souhaite qu’on m’aide à l’automatiser (je passe plus de 7h de temps pour le traitement avec tout le risque d’erreur que cela comporte).

    Voici le nom de mes fichiers texte contenus dans dossier « BILAN AGENCES » du bureau: ebilncgag01001.rep, ebilncgag01002.rep, ……. ebilncgag01018.rep, ebilncgag02001.rep, ebilncgag02002.rep, ebilncgag02003.rep, ebilncgag03001.rep, ebilncgag04001.rep, ebilncgag05001.rep, ebilncgag09001.rep, ebilncgag12001.rep, ebilncgag14001.rep, ebilncgag15001.rep, ebilncgag15005.rep, ebilncgag16017.rep, ebilncgag17001.rep, ebilncgag17002.rep

    Etape 1 : est-il possible de mettre en place un code qui permettra de convertir chaque fichier texte et de les ranger par feuille(le nom de chaque feuille devant être les chiffres du nom du fichier. Exemple ebilncgag01001.rep aura comme nom de fichier 01001, ebilncgag01002.rep = 01002 etc…).
    N.B : lors de la conversion, toutes les colonnes comportant des chiffres devront être converties en format texte.

    Etape 2 : les colonnes B, E, F, I, J, K devront être supprimées simultanément

    Etape3 : dans la nouvelle colonne B (après suppression de la 1ère colonne B), toutes les cellules vides de même que celles dont le nombre de caractère est inférieur à 6 devront être supprimées

    Etape 4 : insérer une nouvelle ligne à partir de la 1ère ligne et mettre respectivement de A1 :E1 les titres suivants : Code Agence, RC, Libellé, Montant et Nbre

    Etape 5 : la plage de la colonne A correspondant à la plage non vide de la colonne B devra porter le nom de la feuille. Exemple de la feuille portant le nom 01001 : Si B2 :B20 est non vide, A2 :A20 aura pour contenu 01001.

    Etape 6 : remplacer les virgules (,) de même que les .00 des colonnes D et E par du vide.

    Etape 7 : insérer une nouvelle feuille qui sera nommée SOURCE.

    Etape 8 : sur chaque feuille du classeur, copier toutes les lignes ou il y aura 251125, 251132, 251134, 253110, 253111, 253115, 253116, 253210, 253216 et 253900 dans la colonne B et les coller dans la feuille SOURCE

    Je reste à votre disposition pour tout complément d'information

  2. #2
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Bonjour,

    Ca ressemble plus à un cahier des charges qu'à une demande d'assistance ponctuelle... Est-ce que tu as commencé à écrire la macro ? En tout état de cause, et vu le gain de temps, je vais t'aider. Toutefois, j'ai besoin d'un fichier de test - sans donnée confidentielle. Mets-le en pièce jointe.
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  3. #3
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2011
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2011
    Messages : 571
    Points : 93
    Points
    93
    Par défaut
    Salut Daniel et le forum

    Merci pour l'intérêt que vous accordez à mon sujet.
    Sans mentir, mon niveau en vba ne permet pas de réaliser une telle macro.
    Ci-joint le fichier texte que j'ai essayé de retraiter pour éviter tout désagrement (confidentialité).
    Merci de voir ce que vous pouvez faire pour m'aider à réaliser cet automatisme.
    Je reste à votre disposition pour toute information pouvant vous permettre de m'aider.
    http://cjoint.com/?DFusNrUTTi2

  4. #4
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Bonjour,

    Je vais mettre un certain temps à le faire, devant m'absenter dans le courant de la semaine prochaine. Je ne t'oublies pas.

    N.B : lors de la conversion, toutes les colonnes comportant des chiffres devront être converties en format texte.
    Est-ce que tu peux préciser quelles colonnes ?
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 153
    Points : 215
    Points
    215
    Par défaut
    Bonjour,

    Une ébauche de solution en PJ,

    Sélectionne un dossier avec la macro et elle va (théoriquement) charger les fichiers .rep,
    NB: Il semblerait que le système de recherche de dossier ne détecte pas les raccourcis... Il faudra peut être donc parcourir tous les dossiers jusqu'à trouver celui qui contient les fichiers à charger.

    Mr Poulpe

    PS: Désolé, le code n'est pas ultra propre
    Fichiers attachés Fichiers attachés

  6. #6
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2011
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2011
    Messages : 571
    Points : 93
    Points
    93
    Par défaut
    Bonsoir Daniel et Poulpe

    Merci pour vos contributions.
    Est-ce que tu peux préciser quelles colonnes ? .
    Daniel :C'est la colonne 7 et 8 (la colonne ou c'est écrit tout simplement "Montant" et l'autre écrit "Comptes").
    Merci encore pour tout.
    Poulpe:je vérifie votre code et vous reviens.

  7. #7
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Je vais attendre que tu aies testé le code de Mr Poulpe. Pas la peine de réinventer la roue.
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  8. #8
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2011
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2011
    Messages : 571
    Points : 93
    Points
    93
    Par défaut
    Salut Poulpe et Daniel

    J'ai testé le code de Poulpe et voici mes observations:
    - les lignes vides de la colonne B ne se suppriment pas
    - les virgules (,) et les .00 de la colonne ne se supprime pas aussi conformement au code ci-dessous:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    'Suppression des .00 et des virgules
     
    Cible.Range("D:E").Replace What:=".00", Replacement:="", LookAt:=xlWhole, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
     
    Cible.Range("D:E").Replace What:=",", Replacement:="", LookAt:=xlWhole, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    N.B:le dossier dans lequel se trouve les fichiers REP est connu sous le nom de BILAN_PAR_AGENCE et se trouve sur le bureau. N'est-il pas possible de spécifier le chemin d'acces du dossier au lieu qu'on est à le choisir manuellement?
    Merci déjà pour ce qui a pu être fait et qui sera encore fait.
    Merci également à Daniel

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 153
    Points : 215
    Points
    215
    Par défaut
    Bonsoir,

    - les lignes vides de la colonne B ne se suppriment pas
    C'est modifié
    - les virgules (,) et les .00 de la colonne ne se supprime pas aussi conformement au code ci-dessous:
    J'avais compris exclusivement les virgules et les .00 qui correspondaient à l'intégralité de la cellule, et non pas seulement une partie. C'est modifié
    Etape3 : dans la nouvelle colonne B (après suppression de la 1ère colonne B), toutes les cellules vides de même que celles dont le nombre de caractère est inférieur à 6 devront être supprimées
    J'imagine qu'il faut aussi supprimer les "------", le but étant, j'imagine, de faire une table.

    N.B:le dossier dans lequel se trouve les fichiers REP est connu sous le nom de BILAN_PAR_AGENCE et se trouve sur le bureau. N'est-il pas possible de spécifier le chemin d'acces du dossier au lieu qu'on est à le choisir manuellement?
    J'ai rajouté une cellule dans laquelle on peut rentrer le répertoire. Le "browse for folder" ne se lancera que si celle-ci est vide. Sinon, il se lance puis remplit le répertoire qui a été sélectionné par l'utilisateur la cellule sus-mentionné.

    J'ai aussi fait quelques modifications mineures dans le code, notamment une status bar qui donne le fichier traité en bas à gauche de l'écran excel.

    Cordialement,

    Un Poulpe

  10. #10
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2011
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2011
    Messages : 571
    Points : 93
    Points
    93
    Par défaut
    Salut Poulpe

    Merci pour votre feedback et les différentes solutions (modifications) apportées.
    Vous avez certainement omi de me joindre le code ou le fichier retraité.
    Pouvez-vous vérifier???

  11. #11
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 153
    Points : 215
    Points
    215
    Par défaut
    Bonjour,

    Vous avez certainement omi de me joindre le code ou le fichier retraité.
    Effectivement, ça peut poser problème,

    Cordialement,

    Mr Poulpe
    Fichiers attachés Fichiers attachés

  12. #12
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2011
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2011
    Messages : 571
    Points : 93
    Points
    93
    Par défaut
    Salut Poulpe

    Merci pour le fichier.
    J'ai beaucoup apprécié le résultat.
    Je suis satisfait et vous tire mon chapeau.
    Merci à Daniel pour avoir voulu me donner un coup de main.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. requete de traitement d'un fichier texte
    Par AlternantOracle dans le forum Langage
    Réponses: 2
    Dernier message: 07/12/2009, 15h32
  2. Traitement d'un fichier texte.
    Par riou34 dans le forum 4D
    Réponses: 4
    Dernier message: 25/01/2009, 12h23
  3. traitement d'un fichier texte
    Par benselma dans le forum Général Java
    Réponses: 4
    Dernier message: 14/05/2008, 16h26
  4. Réponses: 8
    Dernier message: 14/09/2006, 16h43
  5. [INFO] Traitement d'un fichier texte
    Par doudine dans le forum API standards et tierces
    Réponses: 9
    Dernier message: 25/04/2006, 09h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo