macro consolidation onglet et fichiers excel

jaba

XLDnaute Junior
Bonjour,

je suis débutante en excel et je voudrais savoir si il existe un moyen de :

1- Consolider plusieurs onglets d'un fichier dans un même onglet ( c'est à dire les mettres les uns après les autres) en enlevant les étiquettes de chaque onglet.
Les tableaux des ongletrs sont de taille identique ( même nombre de colonnes)

2- Consolider plusieurs fichiers en un. ( chaqu fichier contient un onglet, je voudrais que tous ls onglets apparaissent dans un même fichier

Merci beaucoup d'avance pour votre aide!
 

Paritec

XLDnaute Barbatruc
Re : macro consolidation onglet et fichiers excel

Bonsoir Bast0504 le forum
la fonction estlà et pour vérifier si la feuille "Liste" existe ou non si elle existe, je l'efface, si elle n'existe pas je l'ajoute, et après je fais une liste des fichiers contenus dans le dossier ou se trouve le fichier Z
et après je boucle sur la liste de tous les fichiers et je recopie les données des feuilles clients de tous tes fichiers
en clair, je fais ce que tu as demandé
Mais tu poses des questions, par contre, tu ne dis même pas si cela correspond à ce que tu demandais??
a+
papou:)
 
Dernière édition:

Paritec

XLDnaute Barbatruc
Re : macro consolidation onglet et fichiers excel

Re bonjour Bast0504 le forum
pour que tu ne fasses pas une grossesse nerveuse je t'ai réécrit la macro, mais pas sur que tu comprennes mieux comme cela
enfin voilà, mais je ne sais toujours pas si cela correspond à ce que tu veux ou pas
a+
papou:)
 

Pièces jointes

  • Bast0504 V3.zip
    58.9 KB · Affichages: 120

bast0504

XLDnaute Occasionnel
Re : macro consolidation onglet et fichiers excel

Bonjour Forum, Bonjour Paritec,

Merci Paritec pour cette solution qui me convient parfaitement, je vais la tester encore une fois.

Une autre question serait il possible de faire un déplacement (copie) de l'onglet client du classeur Z vers tous les autres ("A","B","C","D") sans les ouvrir

Merci
 

bast0504

XLDnaute Occasionnel
Re : macro consolidation onglet et fichiers excel

Bonjour à tous

Merci Paritec pour cette solution qui dépasse de loin mon niveau.

Ce que je voulais c'est un code à part pour ma deuxième question à savoir copier le contenu de l'onglet "Client" du classeur Z vers tous les autres ("A","B","C","D") sans les ouvrir. Le collé doit se faire dans l'onglet client qui est le même pour les quatre fichiers.

merci
 

Paritec

XLDnaute Barbatruc
Re : macro consolidation onglet et fichiers excel

Re Bsat0504 le forum
en clair tu ne sais pas trop ce que tu veux, un coup c'est blanc un coup c'est noir
Tu pourrais peut-être essayer d'adapter par rapport à ce que je t'ai fait ce matin?
au moins essayer avant de dire je ne peux pas quand penses-tu??
a+
Papou:)
 

bast0504

XLDnaute Occasionnel
Re : macro consolidation onglet et fichiers excel

Bonjour Forum, Bonjour Paritec

Merci Paritec pour la solution que tu m'as proposé. J'aurais du mal à l'adapter à mon nouveau cas , je ne maitrise pas le langage ADO.

J'ai en revanche essayé avec la solution suivante mais je n'ai pas réussi.

Pour rappel je cherche à copier le contenu de l'onglet "Conso" du classeur Z vers tous les autres ("A","B","C","D") sans les ouvrir. Le collé doit se faire dans l'onglet client qui est le même pour les quatre fichiers.

Si tu pouvais m'aider je t'en serai très reconnaissant.

merci

PHP:
Sub copier()
    Dim wbks As Workbook, wbkc As Workbook, x As Variant
    Dim f As Object, Fso As Object, adr$
    Set Fso = CreateObject("Scripting.FileSystemObject")
    adr = ThisWorkbook.Path
    Set wbkc = ThisWorkbook
    Application.ScreenUpdating = False
    wbkc.Sheets("Client").Range("A2:S" & wbkc.Sheets("Client").Range("A2").End(xlDown).Row).Clear
    For Each f In Fso.GetFolder(adr).Files
        If Not f = ThisWorkbook.FullName And Not f Like "*~$*" Then
            Set wbks = Workbooks.Open(f)
            With wbks.Sheets("Client")
                .Range("A2:S" & .Range("A65536").End(xlUp).Row).Copy wbkc.Sheets("Client").Range("A65536").End(xlUp).Offset(1, 0)
                wbks.Close 0
            End With
        End If
    Next f
    Application.ScreenUpdating = True
    MsgBox "C'est fini", , "Traitement Terminé"
End Sub
 

Pièces jointes

  • ConsoOngletZ.zip
    44.8 KB · Affichages: 26

bast0504

XLDnaute Occasionnel
Re : macro consolidation onglet et fichiers excel

Bonjour Paritec

Merci pour cette macro qui fonctionne parfaitement et me montre la puissance de vba.

Sinon deux petites questions si je peux me permettre :

- Pourrais tu m'expliquer à quoi correspond le test suivant

PHP:
fin1 = wbkc.Sheets("Client").Range("A" & Rows.Count).End(xlUp).Row
                If fin1 < 3 Then GoTo 2
                .Range("A3:S" & .Range("A65536").End(xlUp).Row).Clear
2                fin = wbks.Sheets("Client").Range("A" & Rows.Count).End(xlUp).Row
                If fin < 3 Then GoTo 1
                wbks.Sheets("Client").Range("A3:S" & wbks.Sheets("Client").Range("A" & Rows.Count).End(xlUp).Row).Copy .Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
1               wbkc.Close 1

- Enfin comment introduire un test pour tester l'existence de l'onglet clients, si l'onglet n'existe pas alors le coller ne se fait pas

Merci mille fois
 

Discussions similaires

Réponses
12
Affichages
289

Statistiques des forums

Discussions
312 505
Messages
2 089 070
Membres
104 020
dernier inscrit
Mzghal