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 :

Compiler tableaux en une ligne


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2020
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2020
    Messages : 14
    Par défaut Compiler tableaux en une ligne
    Bonjour à tous :)

    Je reviens vers vous suite à la précieuse aide que vous m'aviez apporté la dernière fois !

    J'ai un nouveau projet et je dois réunir plusieurs fichier excel en un seul. Ces fichiers sources, se trouvant dans le même dossier, possèdent tous la même interface, et on tous un tableau identique. Ces tableaux ont des colonnes Non Applicable, Notions, Application, Maîtrise, Expert. Sur chaque ligne du tableau est présente une croix:X (ou n'importe quel autre élément) dans une des colonne précédemment cité.
    Nom : tableau.PNG
Affichages : 176
Taille : 9,5 Ko

    Ailleurs se trouve un fichier qui compile tous ces fichiers. Chaque tableau de fichier se résume en une ligne. La différence est que les croix se transforme en NA si dans la colonne NA, en 1 si dans la colonne Notions, en 2 si dans le colonne Applications, en 3 si dans la colonne Maîtrise, en 4 si dans le colonne Expert. Voilà ce à quoi devrait ressembler le fichier compilateur une fois la macro réalisé:
    Nom : Compilateur.PNG
Affichages : 168
Taille : 10,4 Ko

    J'aimerai avoir votre aide concernant le code à utiliser pour qu'automatiquement les lignes se remplissent.

    J'ai déjà commencé avec ces lignes de codes afin que les fichiers excels puissent être lus:
    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
     
    Option Explicit
    'Déclaration des variables
    Dim FichierSource As String
    Dim CheminFichiersSource As String
    Dim WBSource As Workbook 'Appelle le fichier source
     
    Sub Compilateur()
     
    'Etape 1: Parcourir les fichiers du dossier prédéfini
     
    CheminFichiersSource = "C:\XXXXXXXXXXXXXXXXXXXXXXXXXX\Unificateur de fichiers excel\test"
    'On cherche le premier classeur dans le dossier
    FichierSource = Dir(CheminFichiersSource & "*.xlsx")
    'On boucle pour chercher tous les classeurs Excel
     
    While Len(FichierSource) > 0
        Set WBSource = Workbooks.Open(CheminFichiersSource & FichierSource)  'On ouvre le fichier dans lequel on veut extraire les données
     
    'On prend les données du fichier
     
        ThisWorkbook.Activate  'On revient sur le classeur de synthèse
     
    'On les traites et colle dans le fichier compilateur
    Comme vous le voyez je ne sais pas comment traiter les données du tableaux pour les transformer. Donc si quelqu'un avait une solution j'en serais extremement ravi :)

    Merci d'avance pour votre aide :D
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 565
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 565
    Par défaut
    Bonjour

    Une solution PowerQuery (intégré à Excel)

    Adapter le nom du dossier puis Données, actualiser tout ou automatiser avec ThisWorkbook.RefreshAll
    Fichiers attachés Fichiers attachés

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2020
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2020
    Messages : 14
    Par défaut
    Merci Chris pour ton aide.

    Je ne connaissais pas Power Query. j'arrive à faire fonctionner ton fichier. Néanmoins j'ai un peu simplifier le problème que je vous ai exposer et je ne sais pas si on peut toujours l'utiliser avec les contraintes que je n'ai pas énoncer.
    Le truc c'est qu'il y a plusieurs fichiers à traiter et que j'aimerai qu'il ajoute aux données existantes les nouvelles sans les effacer. Ca serait possible ? C'est aussi pour ça que je passais par un code vba.

  4. #4
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 565
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 565
    Par défaut
    Bonjour

    Ton dossier peut contenir autant de classeurs que tu veux

    As-tu testé ?

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2020
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2020
    Messages : 14
    Par défaut
    Oui j'ai testé et il fonctionne et ce quelque soit le nombre de fichiers.

    Mais j'ai trois problèmes:
    - le premier c'est que j'ai plusieurs tableaux à extraire dans une même feuille d'un fichier source.
    - le second c'est que le tableau à remplir dans mon fichier compilateur est déjà prédéterminé. Ce que je souhaite c'est le remplir.
    - le troisième est les fichiers sources se trouvent dans des dossiers différents. Par exemple dans C:\Doc\Femmes j'ai les fichiers source de Anne, Ines et Sophie à récupérer et dans C:\doc\Hommes j'ai les fichiers sources de Pierre, Paul, Jacques et ainsi de suite.

    Je vais donc préciser ce que je cherche à faire.

    Dans les deux nouveaux fichiers çi-joint, les tableaux sont placés exactement comme ils devraient être.
    Le FichierCompilateur prends les informations (Nom, Prénom, Date, Milieux) de feuilles excel comme Paul, Pierre, Jacques dans un dossier et les enregistre. Puis je pointe vers un autre dossier et il prendra les fichiers excel de cet autre dossier sans écraser les anciennes.
    Comme je le disais avant, les croix se transforment en NA si dans la colonne NA, en 1 si dans la colonne Notions, en 2 si dans le colonne Applications, en 3 si dans la colonne Maîtrise, en 4 si dans le colonne Expert.

    FichierCompilateur.xlsx
    Antoine.xlsx

    j'espère que cela sera plus clair de la sorte.

  6. #6
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 565
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 565
    Par défaut
    RE

    Un fichier vide avec juste des titres à remplir ou un résultat complet, je ne vois pas ce que cela change si les règles de titrage sont précisées.

    Mais si tu fournis des fichiers non représentatifs et des explications changeantes je vais m'abstenir...

    Citation Envoyé par Linkay Voir le message
    Bonjour à tous

    Ces fichiers sources, se trouvant dans le même dossier, possèdent tous la même interface, et on tous un tableau identique.
    Citation Envoyé par Linkay Voir le message
    Oui j'ai testé et il fonctionne et ce quelque soit le nombre de fichiers.

    Mais j'ai trois problèmes:
    - le premier c'est que j'ai plusieurs tableaux à extraire dans une même feuille d'un fichier source.
    - le second c'est que le tableau à remplir dans mon fichier compilateur est déjà prédéterminé. Ce que je souhaite c'est le remplir.
    - le troisième est les fichiers sources se trouvent dans des dossiers différents.

Discussions similaires

  1. Réponses: 3
    Dernier message: 30/08/2007, 08h56
  2. [Tableaux] Insérer une ligne au début d'un tableau
    Par WagaSeb dans le forum Langage
    Réponses: 5
    Dernier message: 20/06/2007, 12h13
  3. [Tableaux] Créer une ligne dynamiquement
    Par Lenaick dans le forum Langage
    Réponses: 11
    Dernier message: 24/01/2007, 10h58
  4. [Tableaux] Effacer une ligne dans un tableau
    Par gpsevasion dans le forum Langage
    Réponses: 8
    Dernier message: 22/01/2007, 16h38
  5. Réponses: 4
    Dernier message: 19/05/2006, 10h10

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