Plage de cellule de plusieurs onglets vers un seul

Bonjour le forum,

Après des recherches sur le forum et sur le web je me décide à vous contacter.

Voilà je pense ne pas être très loin mais je bloque sur une dernière chose.

La macro fonctionne bien cependant je souhaiterai que les plages (B26:S39) que je selectionne dans mon classeur sur les différents onglets se mette les unes à la suite des autres sur une feuille synthése. Or la macro que je vous envoi copie bien les plages de tous les onglets du classeur mais ne met que les premières lignes de chaque plage, puis fini par la plage complète sur ma feuille synthèse. Je n'arrive pas à trouver la subtilité d'un décalage pour que toutes mes plages apparaissent. Je vous envoi le code ci dessous

Sub SYNTHESE()

Joueur = Application.PathSeparator & Range("A6")
xnomfic = Range("A6"): ficd = Application.PathSeparator & xnomfic & " Musculation.xlsx"

                Application.ScreenUpdating = False

        If FileOrFolderExistsOnMac(ThisWorkbook.Path & Joueur & ficd) = True Then
        Application.Workbooks.Open (ThisWorkbook.Path & Joueur & ficd), UpdateLinks:=0

         Workbooks("Monclasseur.xlsm").Sheets(synthese).Range("B3:S1000").ClearContents
    For i = 1 To Worksheets.Count
[color=#0080FF] Workbooks("Monclasseur.xlsm").Sheets(synthese).Range("B3:S16").Offset(i, 0).Value = Worksheets(i).[B26:S39].Value[/color]
    Next i
    ActiveWorkbook.Close
     Workbooks("Monclasseur.xlsm").Sheets("Modele").Activate
       Application.ScreenUpdating = True
       Application.CutCopyMode = False
    Else
        MsgBox "Le dossier " & xnomfic & " n' existe pas!"
    End If

End Sub

La plage (B26:S39) fais 12 lignes sur 18 colonnes

Je pense que j'ai loupé une étape sur la zone colorée

Si vous pouviez m'aider a terminer ce code ça serait Genial

Cordialement

JUJUDESEXCEL

Salut Juju,

Voici un code qui devrait réaliser ton souhait :

    Sub SYNTHESE()

    Application.ScreenUpdating = False
    Range("B3:S" & Rows.Count).ClearContents

    For i = 1 To Worksheets.Count
        If Sheets(i).Name <> "Synthèse" Then
            Sheets(i).Range("B3:S16").Copy Range("B" & Range("B" & Rows.Count).End(xlUp).Row + 1)
        End If
    Next i

    End Sub

La prochaine fois pense de fournir un fichier permettant de tester ta macro.

Cordialement.

45juju-v1.xlsm (24.13 Ko)

Bonsoir Yvouille, le Forum,

Désolé de ma réponse tardive

Merci pour ton aide et pour ce code, cependant je n'arrive pas à l'adapter à mon cas.

En fait le code ouvre un classeur "ficd" copie les plages "B26:S39" de chaque feuille, le ferme et vient coller ces plages sur une page synthese de "Mon classeur".

ton code marche nikel pour un classeur en interne mais je n'arrive pas à le faire fonctionner entre 2 classeurs voici ce que j'ai tenté:

Sub graphmuscu()

Joueur = Application.PathSeparator & Range("A6")
xnomfic = Range("A6"): ficd = Application.PathSeparator & xnomfic & " Musculation.xlsx"

                Application.ScreenUpdating = False
        If FileOrFolderExistsOnMac(ThisWorkbook.Path & Joueur & ficd) = True Then

        Application.Workbooks.Open (ThisWorkbook.Path & Joueur & ficd), UpdateLinks:=0
         For i = 1 To Worksheets.Count

        Sheets(i).Range("B26:S39").Copy
         Next i
          ActiveWorkbook.Close
        Workbooks("Monclasseur").Sheets(xnomfic).Range ("B" & Range("B" & Rows.Count).End(xlUp).Row + 1)

     Workbooks("Monclasseur").Sheets("Modele").Activate
       Application.ScreenUpdating = True
       Application.CutCopyMode = False
    Else
        MsgBox "Le dossier " & xnomfic & " n' existe pas!"
    End If

End Sub

Désolé de ne pas t'envoyer de fichier mais celui la en question est un peu lourd et je t'avoue que c'est un bon gros bazar

En tout cas un grand merci pour ton aide

Cordialement

JUJUDESEXCEL

Salut Juju,

Si tu vas chez ton garagiste et que tu lui dis : "Je suis désolé, je ne peux pas vous apporter ma voiture, mais je peux vous dire que c'est un problème dans les environs du moteur", il y a bien des chances qu'il refuse de continuer la discussion.

Avec ton fichier c'est comparable : sans le voir, il est inutile que je continue à tâtonner. Un fichier peut être réduit (si 10 lignes suffisent à la démonstration de ton problème, inutile d’en laisser 20'000, tu peux enlever les feuilles inutiles), tu peux y remplacer tes données sensibles par des données neutres, etc.

jujudésexcel a écrit :

je souhaiterai que les plages (B26:S39) que je selectionne dans mon classeur sur les différents onglets se mette les unes à la suite des autres sur une feuille synthése.

Je pense quand même avoir répondu à ta demande.

Cordialement.

Bonsoir Yvouille,

Je comprend tout à fait et désolé je te fais parvenir un bout du dossier. Tout part de la feuille modèle, je créée un fichier que j'alimente de plusieurs onglets. puis je synthétise les données de ce fichier "test2", sur une page de mon fichier "synthèse". En passant je suis très amateur de ta métaphore

Bonne soirée et encore merci du temps que tu consacres

Jujudésexcel


Et je te confirme, le premier fichier fais bien ce que je souhaite mais en fait je n'arrive pas à l'adapter sur un classeur externe.

Cordialement

Juju

22synthese.xlsm (195.44 Ko)

Re,

Ton fichier est une véritable usine à gaz, une brebis n'y retrouverait plus son petit

Je pense que tu dois soit réussir à isoler ton problème et à nous fournir un fichier qui nous permettent de t'aider sans passer trois jours à essayer de comprendre comment fonctionne tout ça ou soit compter sur quelqu'un d'autre qui reprendrait le flambeau.

Si jamais indique ce fil comme "Résolu" - puisque peu de membres s'intéressent encore à un fil déjà entamé - et rouvre-en un autre et essayant d'être plus précis.

J'ai essayé de t'aider, je n'y suis pas arrivé, désolé.

Amicalement.

Bonjour Yvouille,

Je suis vraiment désolé. Je tente une dernière chance avant de rouvrir une discussion. J'ai nettoyer un max le fichier en laissant 2 macros. la macro "editer fichier" Celle qui créé les dossier + fichier dans le même emplacement que le fichier SYNTHESE. E t la macro "synthétiser" qui va prélever chaque plage "B26:S39" en rouge du fichier créé "test3 SYNTHESE" pour le copier sur la feuille "test3" dans le classeur "SYNTHESE"

Je joins donc le fichier "nettoyé" et je tiens vraiment à m'excuser.

Je te rermercie du temps que tu y passes en espérant que ma dernière tentative soit la bonne,

Cordialement

JUJU

16synthese.xlsm (177.18 Ko)

Bonsoir,

Ta demande est tout sauf claire, tes fichiers, tes macros sont encore plus obscures.

Si ce que tu désires est de transférer des données de 3 feuilles d’un fichier vers la feuille d’un autre fichier les unes à la suite des autres, alors je t’en fais la démonstration dans les deux fichiers ci-joints.

Tu enregistres les deux fichiers dans le même dossier (je n’ai pas eu le temps de voir si ça avait vraiment une importance), tu les ouvres à l’écran et tu lances la macro placée derrière le bouton de la Feuil1 du fichier ‘Test 3 Synthèse’. Selon mes tests, tu as les données des 3 feuilles de ce fichier qui sont reportées sur la feuille ‘test3’ du fichier ‘SYNTHESE’, à la suite des données en place.

Tu dis n’avoir laissé que deux macros, mais il y en a 36 !! Ta macro Sub synthŽtiser() est lancée depuis quel fichier, quelle feuille ?

Amicalement.

46synthese.xlsm (122.37 Ko)

Bonsoir Yvouille,

Un grand merci pour ton aide, tu as entièrement répondu à ma requête avec ce dernier fichier. Je suis grandement désolé de ne pas avoir été clair dans mes explications et j'espère surtout ne pas t'avoir énervé .

Pour tout te dire, le fichier "test3 synthese" est créé à partir du fichier "synthèse" et c'est du fichier "synthèse" que je récupère les données du "test3 synthèse". ce fichier est sur une dropbox et il est rempli par plusieurs personnes et ton code me permet de récupérer et interpréter rapidement les données enregistrées.

Je vais mettre cette discussion comme résolue grâce à toi. Et si je dois revenir demander de l'aide je ferai en sorte d'être le plus clair possible. Encore un grand merci à toi, Bonne soirée

Jujudésexcel

PS: au moins je porte bien mon pseudo

Rechercher des sujets similaires à "plage onglets seul"