Reporter les données de plusieurs onglets dans un onglet récap

Bonjour à tous !

Je me permets de vous solliciter aujourd'hui car malgré de nombreux sujets similaires au mien, je n'ai pas réussi à reprendre les macros et les adapter à mon fichier, étant novice en VBA.

J'ai donc plusieurs onglets, que chaque site doit compléter et tenir à jour régulièrement. Et je souhaiterais avoir un onglet global récap qui s'alimente automatiquement lorsque des sites rajoutent des informations dans leurs onglets. Voici le fichier :

27suivi-test.zip (369.09 Ko)

Sinon, je regardais pour créer une formule du style rechercheV par le nom prénom mais je n'ai pas réussi non plus

En tout cas, merci beaucoup pour votre aide !

Bonjour Eric,

Merci pour ton retour, cependant je ne pense pas que ce soit possible pour mon fichier, cela m'a l'air compliqué à paramétrer. Car en fonction du poste de la personne, il y a différentes colonnes à remplir ou non. Peut-être c'est plus compréhensible sur l'onglet "Site1", les colonnes blanches sont à compléter manuellement, et les colonnes orange sont des formules automatiques. Le tableau permettra de faire un suivi des dates d'habilitations à jour ou non.

Plutôt que de dupliquer les données il est toujours préférable d'ajouter une colonne Site que l'utilisateur complètera.
Tout sera sur une feuille unique, il lui suffira de filtrer son site pour retrouver l'équivalent de son onglet.

eric

J'aurais bien aimé cela aurait été effectivement beaucoup plus simple ! Malheureusement la demande est très spécifique et je suis obligée de respecter les différents onglets.

J'avais trouvé ce topic qui est très similaire à ma demande : https://forum.excel-pratique.com/excel/macro-regrouper-plusieurs-onglets-en-1-avec-actualisation-872.... J'ai essayé de reprendre le code mais sans succès.

Ce ne sont que des nouveaux à ajouter ou il faut contrôler et ne mettre que les ajouts ?
Ou bien tout vider et rassembler à nouveau l'ensemble mis à jour ?
NOM Prénom doit rester unique ou peut avoir plusieurs lignes ?
eric

Il peut y avoir de nouvelles lignes de rajoutées ou enlevées selon les arrivées et départs du personnel et des modifications de date sur les lignes déjà existantes. Je ne sais pas ce qui est le plus simple pour le code, j'aurais tendance à dire de tout vider et remettre l'ensemble à jour.

Il peut y avoir plusieurs lignes, il y a des doublons de NOM Prénom, car certains personnels sont sur plusieurs sites.

Merci pour votre aide !

Et pas besoin d'ajouter le site dont il est issu ?

Effectivement si ! Est-ce possible avec un code en se basant sur le nom de l'onglet ? Ou bien faudrait-il que je rajoute une colonne avec les sites dans chaque onglet ?

Si j'ai bien compris, un onglet = un site. Ca suffit donc
Je vois ça plus tard, je dois m'absenter.

Bonjour,

un bouton MAJ en B18.
Comme tu n'avais pas de formule faisant référence à d'autres lignes que celles copiées, j'ai laissé les formules.
Si besoin on peut ajouter une ligne pour ne mettre que les valeurs.
J'ai supprimer des sites pour diminuer le fichier.

13suivi-test.zip (153.68 Ko)
Sub recap()
    ' constantes à adapter en cas d'évolution :
    Const ligTitre As Long = 18, nbCol As Long = 39
    '
    Dim sh As Worksheet, shR As Worksheet
    Dim lig As Long, nblig As Long
    Set shR = Worksheets("Récap global")
    ' nettoyer
    nblig = shR.Cells(Rows.Count, 1).End(xlUp).Row - ligTitre
    If nblig > 0 Then shR.Cells(ligTitre + 1, 1).Resize(nblig).EntireRow.Delete
    lig = ligTitre + 1
    Application.ScreenUpdating = False

    For Each sh In Worksheets
        If sh.Name <> shR.Name Then
            nblig = sh.Cells(Rows.Count, 1).End(xlUp).Row - ligTitre
            If nblig > 0 Then
                shR.Cells(lig, 1).Resize(nblig) = sh.Name
                sh.Cells(ligTitre + 1, 1).Resize(nblig, nbCol).Copy
                shR.Cells(lig, 2).Select
                shR.Paste
                lig = lig + nblig
            End If
        End If
    Next sh
    Application.Goto shR.Cells(ligTitre, 2), True
End Sub

eric

Bonjour Eric,

Merci infiniment !! Le code est vraiment super !!

Par rapport au fait de ne mettre que les valeurs, pourquoi pas sur l'onglet récap, si ce n'est pas compliqué pour vous.

J'aurais une dernière petite demande si possible : Les mises en forme conditionnelles ne veulent pas s'afficher sur l'onglet récap (pour les colonnes orange), est-ce que c'est possible de les faire apparaitre ?

Encore merci c'est vraiment parfait !

Bonjour,

les MFC y sont, mais elles ont gardé leur référence de date en C13 qui s'est trouvée décalée en D du fait de l'insertion d'une colonne.
J'ai remis la date en C13 et fait le collé des valeurs.
Regarde si ça va
eric

22suivi-test.zip (150.12 Ko)

PS :
pour ce qui est de tes formules du style =E19+1461 tu risques de devoir les reprendre régulièrement selon les années bissextiles ou non.
Tu as =MOIS.DECALER(E19;48) qui évite cet inconvénient.
(bon sur cet exemple c'est 4 ans donc pas de soucis, mais pour +366...)
eric

Ah oui c'était tout bête !

Merci pour l'info je vais faire les modifications :)

Rechercher des sujets similaires à "reporter donnees onglets onglet recap"