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 :

Fusionner plusieurs fichiers excel en 1 seul


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2013
    Messages : 6
    Points : 1
    Points
    1
    Par défaut Fusionner plusieurs fichiers excel en 1 seul
    Salut,
    Malheureusement je maîtrise pas le VBA , J'ai bien cherché et j'ai pas trouver quelque chose efficace pour ma situation :

    Je veux fusionner 145 fichiers excel en 1 seul selon le nom de l’entête sachant que :
    * tous les fichier n'ont pas la même entête
    * il ya quelque fois des cellules vides (je pense que c'est pas un problème)

    Voila 2 fichiers parmi les 145 dans les fichiers jointes.

    Merci d'avance.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 477
    Points : 3 865
    Points
    3 865
    Par défaut
    Bonjour
    * tous les fichier n'ont pas la même entête
    Dans tes fichiers, les colonnes ont la même entête mais sont dans le désordre. Est-ce toujours le cas ou un hasard?

    Si tu as toujours les mêmes entêtes même nbre de colonnes, tu peux effectuer ce code pour les mettre toutes dans le même ordre

    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
    Sub tri_liste_perso()
    Dim Num_List As Byte
    On Error Resume Next
    Num_List = Application.GetCustomListNum(Array("Nom", "Rue", "Adress", "CP", "Tel", "FAX", "Categorie", "Email", "Site"))
        'on récupère le numéro de la liste personnelle dans Outils/Options/Listes Persos
    If Num_List = 0 Then
        ' Si elle n'existe pas
        Application.AddCustomList ListArray:=Array("Nom", "Rue", "Adress", "CP", "Tel", "FAX", "Categorie", "Email", "Site")
        ' on ajoute la liste personnelle
        Num_List = Application.CustomListCount
        ' on récupère le numéro de la liste personnelle
        ' tout ajout de liste personnelle étant à la fin, ce sera donc la dernière
    End If
    With Range("A1:I" & [A65000].End(xlUp).Row)
        .Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlNo, OrderCustom:=Num_List + 1, _
                    Orientation:=xlLeftToRight
            ' Comme la première clé (Nouvelle Liste) n'est pas comptabilisée, on ajoute 1 à Num_List
    End With
    End Sub

  3. #3
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 835
    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 : 12 835
    Points : 28 745
    Points
    28 745
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Et si tu as les mêmes étiquettes, tu peux utiliser cette fonction Regrouper plusieurs feuilles sur une autre. (2003-2010)
    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

  4. #4
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2013
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Salut,
    J'ai essayer avec ces etapes mais j'arrive pas a obtenir un resultat,

    Pouvez-vous tester ce codes avec les 2 fichiers en pieces jointes ?

  5. #5
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 835
    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 : 12 835
    Points : 28 745
    Points
    28 745
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Je me suis mal exprimé, j'ai voulu répondre après l'intervention de Lionel qui te proposait de remettre les étiquettes dans le bon ordre par un tri vertical.
    A ce moment là seulement la fonction que j'ai écrite fonctionne. Il faut le même nombre de colonnes et les étiquettes de même orthographe mais n'est pas sensible à la casse.
    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

  6. #6
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2013
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Mais dans votre sujet Regrouper plusieurs feuilles sur une autre. (2003-2010)

    Vous parlez de regrouper plusieurs feuilles et la pour moi je cherche a regrouper plusieurs fichiers !

    J'ai telecharger le demo et...

  7. #7
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 835
    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 : 12 835
    Points : 28 745
    Points
    28 745
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Oui au temps pour moi, je dois être très fatigué.
    Effectivement dans mon exemple, il s'agit de feuilles mais il n'y a aucun problème pour rassembler les feuilles d'autres classeurs sur la feuille d'un classeur particulier.
    Il faut juste que la valeur des arguments de la fonction soient bien attribués
    FromSheet : Feuille d'où viennent les données
    TargetSheet : Feuille cible

    Il faut faire cela dans la procédure qui invoque la fonction.
    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

  8. #8
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2013
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    FromSheet : Feuille d'où viennent les données
    TargetSheet : Feuille cible
    Il faut faire cela dans la procédure qui invoque la fonction

    La je comprend le contexte d'une vue algorithmique mais l'ecrire en VBA

    Et pour le FromSheet ca peux inclure un boucle ?
    Disant que les noms des fichiers va de 1 a 100 ?

  9. #9
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 835
    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 : 12 835
    Points : 28 745
    Points
    28 745
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Bien sûr que tu peux utiliser une boucle
    Si tu regardes le code de la procédure ExportSheetSelectedToExportSheet qui se trouve dans le classeur Demo, tu vois bien qu'il y a une boucle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     With usf.lstSheetSelected
      For elem = 0 To .ListCount - 1
       Set WS = wkb.Worksheets(usf.lstSheetSelected.List(elem))
       IsFirst = Abs(count = 0) * Abs(usf.cbClearSheet = True)
       ' ExportTable WS, shtExport, ClearSheet:=IsFirst, ValueOnly:=usf.cbValueOnly, ShowMsg:=usf.cbMessage: count = count + 1
       nbRow = ExportTable(WS, shtExport, ClearSheet:=IsFirst, ValueOnly:=usf.cbValueOnly, ShowMsg:=usf.cbMessage): count = count + 1
      Next
     End With
    Ici c'est une boucle sur les éléments sélectionnés dans la boîte de dialogue. Il faut l'adapter à ton cas mais la fonction d'exportation travaille d'une façon transparente.
    Voici un petit exemple avec deux classeurs qui ont chacun une feuille ayant un nom différents. Il faut bien entendu adapter à tes besoins.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub ExportationMultiClasseur()
     Dim WorkbookName(), WorksheetName(), nb As Byte
     Dim ShtFrom As Worksheet, shtExport As Worksheet
     Dim isFirst As Boolean
     Set shtExport = ThisWorkbook.Worksheets("Export")
     
     WorkbookName = Array("ClasseurA", "ClasseurB")
     WorksheetName = Array("Fiche-A", "Fiche-B")
     
     For nb = 0 To UBound(WorkbookName)
      Set ShtFrom = Workbooks(WorkbookName(nb) & ".xls").Worksheets(WorksheetName(nb))
      ExportTable ShtFrom, shtExport, ClearSheet:=(nb = 0)
     Next
    End Sub
    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

  10. #10
    Invité
    Invité(e)
    Par défaut Je prends le train en marche.
    Bon soir,
    Je prends le train en marche, alors j’ai besoin de quelques précisions.
    Le fait d’avoir 140 fichiers pas de problème.
    Qu’ils portent des noms différents pas de problème.
    Que le colonage soit en vrac pas de problème.
    Demande d’info :
    Le nombre des colonnes est toujours le même ?
    Le nom des colonnes bien que dans le désordre est toujours le même ?
    Les fichiers sont tous dans le même répertoire ?
    Les donné sont ajouter dans la même feuille du nouveau classeur ?
    A+

  11. #11
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2013
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Le nombre des colonnes est toujours le même ?
    pas forcement il ya klk fois des colonnes supplementaires que j'ai pas besoin,

    Le nom des colonnes bien que dans le désordre est toujours le même ?
    pas toujours dans quelque fois il y a que 2 colonnes,

    Les fichiers sont tous dans le même répertoire ?
    oui,

    Les donné sont ajouter dans la même feuille du nouveau classeur ?
    oui c'est exactement ca,

  12. #12
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 835
    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 : 12 835
    Points : 28 745
    Points
    28 745
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Citation Envoyé par Jessica13 Voir le message
    Le nombre des colonnes est toujours le même ? pas forcement il ya klk fois des colonnes supplementaires que j'ai pas besoin,
    Le nom des colonnes bien que dans le désordre est toujours le même ? pas toujours dans quelque fois il y a que 2 colonnes,
    Les fichiers sont tous dans le même répertoire ? oui,
    Les donné sont ajouter dans la même feuille du nouveau classeur ? oui c'est exactement ca,
    Alors, la fonction ExportTable ne peut pas t'aider.
    Comme je l'ai préciser
    Il faut le même nombre de colonnes et les étiquettes de même orthographe mais n'est pas sensible à la casse.
    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

  13. #13
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2013
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Donc Ya pas de solution pour ce probleme ?

  14. #14
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 835
    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 : 12 835
    Points : 28 745
    Points
    28 745
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Il y a bien sûr une solution.
    J'ai simplement voulu te signaler qu'avec la procédure que je propose, c'est impossible.
    Cependant tu peux dans une boucle ouvrir les classeurs qui contiennent les feuilles que tu veux copier et le coller dans les feuilles d'un classeur afin de les regrouper.
    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

  15. #15
    Invité
    Invité(e)
    Par défaut Voila
    Bonjour,
    A tester.
    Fichiers attachés Fichiers attachés

  16. #16
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Bonjour,
    Je travaille actuellement sur le même genre de macro, permettant de fusionner les feuilles de plusieurs classeurs, mais avec en plus un mappage (ou redistribution) des colonnes.

    C'est loin d'être aussi simple que cela
    Voici les pièges ou problèmes constatés
    - Je choisi le dossier et les fichiers à importer (Application.GetOpenFilename)
    - J'ouvre chaque fichier en lecture seule ( ça évite de faire des bétises)
    - Attention est-ce un fichier XLS ou XLSX pour le nombre lignes et colonnes
    - Avec XL2010 attention aux Paramètres de blocage des fichiers et emplacements approuvés
    - Je supprimes les feuilles vides
    - Il faut pouvoir choisir la première feuille qui va servir de modèle pour les colonnes.
    - Il faut pouvoir PASSER certaines feuilles, celles qui ne nous intéressent pas ou FILTRER sur le nom de la feuille.
    -Attention aux feuilles comportant des TCD ou des SHAPES que faire ?
    -Attention aux feuilles où il y a un FILTRE ou des cellules masquées.
    -Je copie quoi les formules ou les valeurs ?
    -Les données peuvent ne pas commencer à la ligne 1

    J'ai donc un formulaire avec une création à la volée de 1 colonnes de Textbox pour la destination et une colonne de ComboBox, pour la source.

    -Attention aux doublons dans les en-têtes pour retrouver les correspondances de colonnes



    voilà un peu de brainstorming sur le sujet. J'ai encore des chose à développer pour que cela marche bien

  17. #17
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 835
    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 : 12 835
    Points : 28 745
    Points
    28 745
    Billets dans le blog
    53
    Par défaut
    Bonjour Oliv,
    Bonne analyse.
    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

  18. #18
    Invité
    Invité(e)
    Par défaut Je me rends compte qu’il existe beaucoup de question non élucidées.
    Bonjour Oliv',
    Je me rends compte qu’il existe beaucoup de question non élucidées.
    Maintenant, tu as vraisemblablement un formulaire qui opère le mappage entre la cellule source et la cellule cible.
    Tu mappe pour tous les fichiers?
    Ou tu fais une sorte de modèle. Si tu mappe source a1=source Entête1 et Cible B1=cible entête1, là on peut éventuellement gérer. Si tu dois scanner les entêtes de la source pour générer la cible il faut pouvoir indexer en fonction du contenue (integer,string..) en admettant qu’il n’y ait pas toto=string et toto= string en doublon d’entête.
    Moi j’aime bien utiliser de collections elles ont l’avantage d’être nommable exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    collectionMapp.add "cible entête1","source Entête1"
    CollectionColonneSource.add "source Entête1"
    CollectionColonneCible.add  1,"Cible Entête1"
    CollectionColonneCible (collectionMapp (CollectionColonneSource(1)))=1
    On retrouve la colonne cible en fonction de la colonne source et du mapping.
    Médite à cette solution !
    Dernière modification par Invité ; 08/02/2013 à 13h43.

  19. #19
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Bonjour Robert,
    Dans mon programme,j'ai effectivement un formulaire de mappage c'est l'image de mon précédent POST. Il est dynamique même pour la Destination ET est réactualisée à chaque nouvelle source par exemple si j'ai fait correspondre à (colonne J) un champ dans l'import précédent le titre de colonne va changer pour celui de la colonne ajoutée.

    Pour simplifier la création dynamique des textbox et combobox , une fois ajoutés je copie l'alignement et la taille sur un couple existent .

    En fait mes colonnes sont mappées en fonction de leur numéro, dans une collection, et non en fonction de leur valeur pour éviter les doublons.


    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
    28
    29
    30
    Private Sub CB_OK_Click()
        Dim truc As Control
        Me.Hide
        nb_mappage = 0
        Set Macollection = Nothing
        For Each truc In Me.Controls
            If TypeName(truc) = "ComboBox" Then
                With truc
                    If Not .List(.ListIndex, 0) = 0 Then
                        nb_mappage = nb_mappage + 1
                        .ForeColor = vbNormal
     
                    Else
                        .ForeColor = vbRed
                    End If
                    Macollection.Add .List(.ListIndex, 0), Replace(truc.Name, "ComboBox", "", , , vbTextCompare)    '.List(.ListIndex, 1)
                End With
     
     
            End If
        Next truc
     
        If nb_mappage = 0 Then
            MsgBox "Aucun mappage effectué !"
            'End
        Else: Num_Ligne_Titres = ComboBox_ligne
        End If
        Unload Me
     
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    For C = 1 To Macollection.Count    'parcourt les colonnes DESTINATATION
                            If Macollection(C) <> "0" Then
     
                                Set ColRangeSource = OngletSOURCES.Range(OngletSOURCES.Cells(CInt(Num_Ligne_Titres), CInt(Macollection(C))), OngletSOURCES.Cells(CInt(Nb_lignes_Source), CInt(Macollection(C))))
     
                                'on copie/colle colonne par colonne
     
                                ColRangeSource.Copy ZoneColle.Offset(0, C - 1)
                                Set TitreColonneDEST = ZoneColle.Parent.Cells(1, ZoneColle.Offset(0, C - 1).Column)
                                If TitreColonneDEST.Value = "" Then TitreColonneDEST.Value = ColRangeSource.Range("a1")
                                OngletDESTINATION.Activate
                            End If
                        Next C
    j'ai bien bien compris ce que tu voualis dire par
    faut pouvoir indexer en fonction du contenue (integer,string..)
    edit ps: Bonjour PHILIPPE et merci pour ta remarque

Discussions similaires

  1. [Excel] Afficher plusieurs fichiers excel dans un seul fichier
    Par naru40001 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 07/01/2009, 14h50
  2. Réponses: 2
    Dernier message: 20/05/2008, 14h34
  3. somme de plusieurs fichiers excel en un seul
    Par picxx dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/04/2008, 12h34
  4. regrouper plusieurs fichiers Excel en un seul
    Par jnmab dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 14/11/2007, 17h40

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