XL 2016 Fusionner 2 tableaux sans connaître le nombre de ligne des 2 tableaux

Bodegafr

XLDnaute Nouveau
Bonjour,

J'ai deux tableaux "stagiaires" et "moniteurs" avec un certains nombre de personne qui peut varier en fonction des sessions et j'ai besoin d'avoir sur une troisième feuille une liste alphabétique de l'ensemble "stagiaires" + "moniteurs". Aujourd'hui, je fais 2 copier/coller puis un tri mais je voudrai automatiser ce résultat.
Une fois je peux avoir 20 stagiaires et 2 moniteurs comme je peux avoir 10 stagiaires et 4 moniteurs, comment pourrais-je faire pour recopier uniquement les lignes de mes tableaux "stagiaires" et "moniteurs" où il y a des valeurs afin de les regrouper dans ce 3e tableau ?
Pour info, il peut m'arriver par la suite de rajouter un stagiaire, en enlever, rajouter ou enlever des moniteurs.
Merci.
 

Cousinhub

XLDnaute Barbatruc
Bonjour,
En utilisant Power Query (jonction des 2 tableaux)
Chaque onglet comporte un Tableau Structuré.
Lors de l'activation de l'onglet "Accès site", un code évènementiel actualise la requête.
Bonne journée
Edit, j'avais oublié le tri - Fichier changé
 

Pièces jointes

  • PQ_INSCRIPTION.xlsm
    27.1 KB · Affichages: 10

Bodegafr

XLDnaute Nouveau
Bonjour,
En utilisant Power Query (jonction des 2 tableaux)
Chaque onglet comporte un Tableau Structuré.
Lors de l'activation de l'onglet "Accès site", un code évènementiel actualise la requête.
Bonne journée
Edit, j'avais oublié le tri - Fichier changé
Merci ! C'est parfait, le résultat dans le fichier me convient parfaitement. Il faut juste que je comprenne ce que vous avez fait (Power Query..) pour le reproduire dans mon fichier.
Déclarer les 3 tableaux (Tableau1, Tableau 2, Tableau2_2) c'est bon mais après ?
Merci !
 

Cousinhub

XLDnaute Barbatruc
Re-,
J'ai tout d'abord créé une connexion sur le 1er tableau (Ruban Données/A partir de Tableau ou d'une plage), rien modifié dans ton cas, et "Fermer et Charger"/Créer la connexion uniquement.
Puis dans le 2ème onglet, de nouveau Données/A partir...., et dans l'éditeur PQ, Accueil/Ajouter des requêtes, j'ai sélectionné la première connexion.
Faire le tri
Fermer et Charger dans un Tableau
Renommer cet onglet, et rajouter le code kivabien
Bon courage
Pour voir ces étapes, une fois une cellule du PQ sélectionnée, aller dans le Ruban "Requête", Modifier
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour à tous,

Une méthode avec VBA. Le tableau se met à jour quand on sélectionne la feuille "Accès site".
Le code est dans le module associé à la feuille "Accès site":
VB:
Private Sub Worksheet_Activate()
Dim tRes As ListObject, i&
   Application.ScreenUpdating = False
   Set tRes = Sheets("Accès site").Range("a1").ListObject
   With tRes
      .AutoFilter.ShowAllData
      For i = tRes.ListRows.Count To 1 Step -1: tRes.ListRows(i).Delete: Next
      Sheets("stagiaires").Range("a1").ListObject.DataBodyRange.Copy .Range(.ListRows.Count + 2, 1)
      Sheets("Moniteurs").Range("a1").ListObject.DataBodyRange.Copy .Range(.ListRows.Count + 2, 1)
      .Range.Sort key1:=.HeaderRowRange(1, 1), order1:=xlAscending, MatchCase:=False, Header:=xlYes
      For i = .ListRows.Count To 1 Step -1
         If .ListRows(i).Range(1, 1) = "" Then .ListRows(i).Delete Else Exit For
      Next i
   End With
End Sub

nota: j'ai le bouquin pour apprendre PQ depuis de nombreux mois. Il va falloir que je m'y mette ;)
 

Pièces jointes

  • Bodegafr- 2 en 1 vba- v1a.xlsm
    29.5 KB · Affichages: 9
Dernière édition:

Bodegafr

XLDnaute Nouveau
J'ai appliqué ce matin la solution avec Power Query, très pratique ! J'ai même pu intégrer le tableau dans une feuille avec d'autres éléments, merci pour cette solution !
J'ai essayé de reproduire la solution avec le code VBA dans l'onglet, je me suis heurté à une erreur sur "Set tRes = Sheets("Accès site").Range("a1").ListObject", je n'ai pas compris le pourquoi, l'onglet à le bon nom. Pas grave, la solution Power Query très facile à mettre en place.

Pour ceux qui utilisent Power Query, j'ai trouvé sur internet une solution pour actualiser les requêtes lors de l'ouverture du classeur mais connaissez-vous une solution pour actualiser la requête quand on clique sur l'onglet ? Peut-être un code VBA à mettre dans l'onglet ?

Merci pour votre aide à tous, c'est très sympa de prendre du temps pour répondre aux interrogations qu'on se pose !
 

mapomme

XLDnaute Barbatruc
Supporter XLD
J'ai essayé de reproduire la solution avec le code VBA dans l'onglet, je me suis heurté à une erreur sur "Set tRes = Sheets("Accès site").Range("a1").ListObject", je n'ai pas compris le pourquoi, l'onglet à le bon nom. Pas grave, la solution Power Query très facile à mettre en place.
Le tableau structuré inclut-il la cellule A1 de la feuille "Accès site" ?

Je serais intéressé de voir ton classeur pour comprendre...
 

Discussions similaires

Statistiques des forums

Discussions
312 100
Messages
2 085 294
Membres
102 854
dernier inscrit
ADRIENVR