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 :

[XL-2003] Concaténer fichiers + opérations diverses


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 6
    Par défaut [XL-2003] Concaténer fichiers + opérations diverses
    Bonjour à tous !

    Je suis novice dans l'utilisation des macros excel, mais on m'a demandé de faire un grand cru avec de l'eau au travail..

    Il s'agit donc de faire une macro pour concaténer une partie d'une feuille spécifique excel de différents classeurs dans un seul nouveau classeur. Il faudrait que les classeurs excel soient choisis par l'utilisateur et non ceux du répertoire courant.

    Ensuite au niveau des tâches réalisés, la macro doit extraire les codes libellés cours, libellé long du tableau référentiel de la feuille Extraction ( toujours cette feuille là quelque soit le classeur) donc logiquement les colonnes B C D et F G H sur toutes les lignes ou il y a quelque chose de renseigné.

    On récupère le code du répertoire en colonne A, on laisse la colonne B pour les astérix*.
    Si une ligne comporte les mêmes infos sur ses colonnes BCD et FGH on ne fait rien.
    Si les colonnes BCD sont renseignées mais pas FGH alors on renseigne FGH avec les infos de BCD ( l'inverse on ne fait rien).
    *Si une ligne ne comporte pas les mêmes infos entre les colonnes alors on ajoute un astérix devant.

    Je vous ai mis les fichiers excel en PJ et le modèle de ce qui est attendu.

    Regardez plutôt le classeur merci pour comprendre les règles énoncées.Par exemple bleu pas de changement, jaune les infos ont changées donc on ajoute une astérix, vert le code n'existait pas donc on le crée.

    (Dans le fichier 1 j'ai réalisé des modifs donc il n'est plus en accord avec l'autre classeur rassurez vous !)

    Dans les vrais classeurs les infos seront correctement alignées donc je sais que là c'est pas forcément logique mais c'est juste à titre de test


    Merci beaucoup de votre aide ! Si vous avez des questions j'y répondrais du mieux possible.

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Ce n'est plus une question, c'est un véritable cahier des charges.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonjour le forum, Philippe, hitorojo
    Ce n'est plus une question, c'est un véritable cahier des charges.
    D'autant plus qu'aucun travail n'a été commencé, quand je lis
    Je suis novice dans l'utilisation des macros excel, mais on m'a demandé de faire un grand cru avec de l'eau au travail..
    Même novice, hitorojo, tu as du apprendre le minimum qui te permette, au moins de démarrer quelque chose, allez ! un peu de volontariat, tu seras plus facilement aidé par la suite.

    Bon courage
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  4. #4
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 6
    Par défaut
    La seule macro que j'ai "réalisé" a été de convertir sur 12 caractères des identifiants qui étaient sur 6 ou 7 à la base.. Donc quelque chose qui n'a rien à voir en somme.

    Je n'ai pas de cours de VBA ou autre à ma fac (je suis apprenti donc en gros on me file le taff qu'on ne veut pas faire sur le projet..) et pour le précédent travail, il existait une macro sur internet qui faisait quasiment çà, j'ai dû changer la longueur voulue c'est tout. Je suis démuni et j'ai vraiment besoin d'aide.

    Merci d'avance

  5. #5
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Donc commençons par le commencement, quand tu écris :
    Il s'agit donc de faire une macro pour concaténer une partie d'une feuille spécifique excel de différents classeurs dans un seul nouveau classeur. Il faudrait que les classeurs excel soient choisis par l'utilisateur et non ceux du répertoire courant.
    essayes le fichier joint, analyses-le, si ça te va, on verra pour la suite (si je comprends et si je suis compétent)
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  6. #6
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 6
    Par défaut
    C'est plus que précis comme choix de répertoire et de fichiers, la grande classe !

    Après est-il nécessaire de les ouvrir véritablement pour la suite (c'est à dire pour copier les informations dedans) ?
    Il y aura plus d'une soixante de classeurs en tout donc les ouvrir un par un est un peu long, c'est possible de les sélectionner tous à la fois ? ( un peu comme quand tu envoies des fichiers par messagerie tu peux avec la touche majuscule en sélectionner plusieurs)


    En cherchant j'ai trouvé çà comme code qui ressemble à ce que je veux pour choisir plusieurs fichiers à la fois.. Mais la concaténation ne marche pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    Dim Fichiers As Variant
    Dim i As Integer
    Dim wb As Workbook
    Dim donnees As Range
     
        Fichiers = Application.GetOpenFilename("Fichiers xls (*.xls), *.xls", , , , True)
     
        If IsArray(Fichiers) = True Then
     
            Application.ScreenUpdating = False
     
            For i = LBound(Fichiers) To UBound(Fichiers)
     
                Workbooks.OpenText Filename:=Fichiers(i), DataType:=xlDelimited, Tab:=True
                Set wb = ActiveWorkbook
                Set donnees = wb.Sheets(1).[A1].CurrentRegion
                donnees.Copy ThisWorkbook.Sheets(1).[A65536].End(xlUp)(2)
                wb.Close
                Set donnees = Nothing
                Set wb = Nothing
     
            Next i
     
            Application.ScreenUpdating = True
     
        End If
    Donc en changeant l'extension dat d'origine en xls (bien celle là ou il y a une spécifique pour un fichier contenant des macros ?) cela me permet d'en choisir plusieurs... Après ca ne marche pas vu que je ne sais pas quoi modifer exactement dedans mais çà peut t'aider peut être.

    En tout cas merci du coup de main c'est appréciable et apprécié

Discussions similaires

  1. [VBA-E]Concaténer fichier texte
    Par illight dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 11/05/2006, 10h16
  2. [VB.NET 2003] Consulter fichier crypter
    Par Kénium dans le forum Windows Forms
    Réponses: 2
    Dernier message: 23/04/2006, 16h51
  3. Ecriture dans un fichier avec diverses couleurs.
    Par molo2003 dans le forum MFC
    Réponses: 3
    Dernier message: 11/04/2006, 19h23
  4. concaténer fichiers texte ligne par ligne
    Par tiboleo dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 16/03/2006, 13h45

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