XL 2013 Regrouper plusieurs tableaux (onglets) dans un Recap

AudreyDuThor

XLDnaute Nouveau
Bonjour et d'avance merci pour votre aide.
J'aimerais réussir à reporter dans un onglet "Recap" les informations contenues dans les colonnes A à I de tous les onglets de type "Service".
L'idée serait que grâce a un bouton, "Recap", que j'ai déjà mis dans l'onglet "Récap", viennent s'ajouter les nouvelles informations contenues dans chaque onglet.
Je me disais que grâce à la date ce serait alors facile pour moi de retrouver les nouvelles entrées.

Il est possible que d'autres onglets Service arrivent par la suite, ce serait super si l'outil le prenne déjà en compte.

Je vous joint mon fichier test.
Je pense avoir laissé tous les onglets affiché, mais si un mot de passe vous est demandé, il suffira de mettre AUDREY.
et si nécessaire depuis l'onglet "Accueil" => "ctrl+Q" et AUDREY.

Voilà, j'espère avoir été claire et surtout j'espère que vous pourrez m'aider - mais je suis sure que oui ;)
 

Pièces jointes

  • Tests to share.xlsm
    248.1 KB · Affichages: 12

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Audrey,
Un essai en PJ avec :
VB:
Sub Recap()
Range("A4:J1000").ClearContents
Application.ScreenUpdating = False
Ligne = 4
For Each F In Worksheets
    LigLecture = 3
    If Left(F.Name, 7) = "SERVICE" Then
        While Sheets(F.Name).Cells(LigLecture, "E") <> ""
            With Sheets("RECAP")
                For C = 1 To 9
                    .Cells(Ligne, C) = Sheets(F.Name).Cells(LigLecture, C)
                Next C
                .Cells(Ligne, "J") = Right(.Cells(Ligne, "E"), 2)
                If .Cells(Ligne, "I") = "YES" Then
                    .Cells(Ligne, "F") = "C-" & .Cells(Ligne, "J") & "-" & Ligne
                End If
                LigLecture = LigLecture + 1
                Ligne = Ligne + 1
            End With
        Wend
    End If
Next F
End Sub
Les formules qui étaient en colonnes E et J sont faites en VBA.
Toutes les feuilles qui commencent par "SERVICE" sont traitées, y compris les futures à venir.
 

Pièces jointes

  • Tests to share.xlsm
    229.9 KB · Affichages: 7

AudreyDuThor

XLDnaute Nouveau
Bonjour Sylvanu,
Tout d'abord, merci pour ce fichier, c'est top.
Je réalise que j'ai probablement mal exprimé mon besoin :(
Je suis une lectrice assidue de ce forum, je le regrette donc déjà.

1. La mention Yes / No dans sera complété dans l'onglet Recap, ce sont donc les colonnes A à H qui doivent être reportées
2. J'aurais aimé si c'est possible que les nouveaux libellés se positionnent en dessous du dernier
=> parce que l'ID Libellé qui se génère lorsque l'on indique YES sera utilisé dans ailleurs et ne peux donc pas changer

Merci et encore désolée pour mon manque de précision.
Audrey
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
1- Donc la colonne F reste aussi vierge puisque dépend de la colonne I qui est non remplie.
donc on ne copie que les colonnes ABCDEFG. J'ai gardé le remplissage de la colonne J puisqu'elle dépend de la colonne E.
2- Les données sont collées à la suite des précédentes.
 

Pièces jointes

  • Tests to share(V2).xlsm
    229.6 KB · Affichages: 11

AudreyDuThor

XLDnaute Nouveau
Bonsoir Sylvanu,
Merci beaucoup pour ton aide.
J'ai testé dans le fichier officiel et ca fonctionne super bien, tu es au top !
Les services devront remplir les colonnes date, libellé et chef de projet sous peine de ne pas arriver jusqu'à mon récap. Cela pourrais sembler problématique, mais au final, je me dit qu'ils devront surtout respecter ma demande initiale qui est de compléter toutes ces colonnes !

J'ai enregistrer une macro additionnelle pour supprimer les doublons.... elle fonctionne une 1re fois, puis après elle ne fonctionne plus :(
Est ce que ce serais abuser de te demander encore un peu d'aide ?
je te joins le fichier dans laquelle cette macro se trouve.
Par méconnaissance j'ai ajouté un 2nd bouton "remove duplicate" mais peut-être que tu saurais faire pour que cette 2nde macro se lance automatiquement après la tienne directement depuis le bouton 'Recap' (et m'éviter 2 click).
 

Pièces jointes

  • Tests to share(V3).xlsm
    235.7 KB · Affichages: 6

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Audrey,
Il suffisait de rajouter cette ligne à la fin de la macro :
VB:
' Suppression doublons
Sheets("RECAP").Range("Tableau16[#All]").RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), Header:=xlYes
J'ai supprimé le bouton Remove.
Cependant j'ai un souci : lorsque l'utilisateur aura renseigné les colonnes F et I, lors d'un nouvel apport ces lignes seront différentes de celles importées et ne seront plus considérées comme doublons. Il faudrait mieux, je pense, mettre :
Code:
' Suppression doublons
Sheets("RECAP").Range("Tableau16[#All]").RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5, 7, 8), Header:=xlYes
en excluant les colonnes F et I de la comparaison de lignes. C'est ce que j'ai implanté.
( si c'est une erreur, remettre la ligne complète avec Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) )
 

Pièces jointes

  • Tests to share(V4).xlsm
    226.5 KB · Affichages: 7

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 322
Membres
103 178
dernier inscrit
BERSEB50