XL 2019 A partir des base de données 1 et 2, comment obtenir la base de données 3 sur 2 colonnes avec uniquement des formules excel, en automatique

Mika_56

XLDnaute Nouveau
A partir des base de données 1 et 2, comment obtenir la base de données 3 sur 2 colonnes avec uniquement des formules excel, en automatique

1. Base de données 1 (utilisateurs et périmètres) :

Feuille1 (nommée Feuil1 ici)
Colonne A : Utilisateur
Colonne B : Périmètre

Exemple :

Utilisateur Périmètre
User1 PérimètreA
User2 PérimètreB
User3 PérimètreC
User4 PérimètreA

2. Base de données 2 (périmètres et sociétés) :

Feuille2 (nommée Feuil2 ici)
Colonne A : Périmètre
Colonne B : Société

Exemple :

Périmètre Société
PérimètreA Soc1
PérimètreA Soc2
PérimètreA Soc3
PérimètreB Soc4
PérimètreB Soc5
PérimètreC Soc1
PérimètreC Soc6
PérimètreC Soc7


3. Base de données 3, résultat souhaité

Utilisateur Société
User1 Soc1
User1 Soc2
User1 Soc3
User2 Soc4
User2 Soc5
User3 Soc1
User3 Soc6
User3 Soc7
User4 Soc1
User4 Soc2
User4 Soc3
 

vgendron

XLDnaute Barbatruc
salut @sylvanu
c'est grave, je n'ai même pas remarqué que le gars se pointait sans dire bonjour... à croire que ca devient la norme et que je n'y prête même plus attention...
ca me fait penser à la pub qui tourne en ce moment à la TV "Parisien Raleur?" alors que c'est ce c.. de client qui commande (passer commande ou donner des ordres...?) sans dire bonjour..
 

Mika_56

XLDnaute Nouveau
Bonjour et bienvenue

Pour bien commencer, peux tu poster un fichier excel avec tes données plutot que de les mettre en vrac dans le post..
ca nous évitera d'avoir à le faire nous meme
et ca nous permettra de faire une proposition qui colle au besoin.
Bonjour, voici un fichier test très simple ou je souhaite avoir l'onglet "résultat souhaité" en automatique pour les 2 colonnes. Merci, Mika
 

Pièces jointes

  • Test formules excel.xlsx
    12.9 KB · Affichages: 5

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
Un essaie en PJ avec cette macro.
Elle s'exécute automatiquement lorsqu'on sélectionne la feuille "résultat souhaité"
VB:
ub Worksheet_Activate()
    Dim Tablo1, Tablo2, Ligne%, User%, Pér%, Username, Périmètre
    [A2:B1000].ClearContents
    Application.ScreenUpdating = False
    Tablo1 = Sheets("Feuil1").[A1].CurrentRegion     ' Nom feuille à adapter
    Tablo2 = Sheets("Feuil2").[A1].CurrentRegion     ' Nom feuille à adapter
    Ligne = 2
    For User = 2 To UBound(Tablo1)
        Username = Tablo1(User, 1)
        Périmètre = Tablo1(User, 2)
        For Pér = 2 To UBound(Tablo2)
            If Tablo2(Pér, 1) = Périmètre Then
                Cells(Ligne, "A") = Username
                Cells(Ligne, "B") = Tablo2(Pér, 2)
                Ligne = Ligne + 1
            End If
        Next Pér
    Next User
End Sub
Pensez à autoriser les macros si ce n'est déjà fait.
 

Pièces jointes

  • Test formules excel (3).xlsm
    18.9 KB · Affichages: 2

alexga78

XLDnaute Occasionnel
Bonjour à tous,

avec Power Query, et respectivement _T1, _T2 les tableaux des feuilles 1 et 2.

PowerQuery:
let
A = each Table.ToRows(Excel.CurrentWorkbook(){[Name=_]}[Content]),
B = (x)=> Text.TrimEnd(x),
C = List.TransformMany(A("_T1"), each List.Transform(List.Select(A("_T2"), (x)=> B(x{0}) = B(_{1})),
    each _{1}), (x,y)=> {x{0}, y}),
D = Table.FromRows(C, {"Utilisateur","Société"})
in
D

Bonne journée à tous
 

Mika_56

XLDnaute Nouveau
Bonjour à tous,

Je ne suis pas très à l'aise avec les macros, je voudrais vraiment trouver une solution avec des formules sur les 2 colonnes. Avec les formules index et équivalent, je pense que c'est faisable mais je n'y arrive pas. Merci pour votre aide.
 

vgendron

XLDnaute Barbatruc
Hello
Power Query (c'est pas de la macro vba) est intégré dans excel
regarde la PJ, j'ai pris la requete d'alexga78
si tu modifies une des deux tables (t1 et t2) il te suffit de faire un clic droit sur la table résultat / actualiser pour avoir la mise à jour automatiquement
 

Pièces jointes

  • Test formules excel.xlsx
    21.6 KB · Affichages: 4

vgendron

XLDnaute Barbatruc

Discussions similaires

Statistiques des forums

Discussions
315 080
Messages
2 116 010
Membres
112 636
dernier inscrit
fred 1969