Liste en cascade

Bonjour à tous !

Je viens vers vous car je suis en train de développer une sorte de petit soft pour des fichiers de chiffrage et devis pour mon entreprise. J'ai eu 2 soucis majeurs, dont un qui est déjà posté : https://forum.excel-pratique.com/viewtopic.php?f=2&t=122745.

Le premier problème était donc d'aller chercher dans une base de données client (BDD2019.xlsx), avec un tableau simple, des infos sur les clients pour me permettre grâce à une liste sur mon second fichier (DV2019XXXX.xlsx) de remplir automatiquement les infos (Nom contact, adresse, ville) sur mon devis.

Mais parfois j'ai plusieurs contacts pour une même entreprise, et je n'arrive pas à visualiser comment :

- Organiser mon tableau sur ma BDD2019.xlsx

- Quelle formule utiliser pour ma cellule sur DVXXXX.xlsx

J'ai déjà fait un test en créant une nouvelle ligne sur ma BDD2019.xlsx en entrant le même nom de société, même adresse... avec seulement le nom qui change, mais sur ma liste des sociétés de base de DVXXXX.xlsx l'entreprise apparait 2 fois, et ce n'est pas pour autant que ça change le nom (il ne prend que le premier nom)

Merci d'avance pour vos lumières

bonjour

pour rester simple (très simple et très fiable) il suffit pour l'entreprise COURT qui a M. DURA et Mme ALAIN de créer 2 fois l'entreprise COURT, une fois avec DURA et une fois avec ALAIN

pour avoir une vision globale de tes devis, crée un TCD qui va regrouper toutes les lignes COURT

voir aussi https://forum.excel-pratique.com/viewtopic.php?f=3&t=114388

amitiés

TCD ?

Je "débute" avec les fonctions un peu plus avancées d'Excel, j'ai encore beaucoup à apprendre

Bonjour,

TCD = Tableau Croisé Dynamique, tu le trouveras dans l'onglet "Insertion" d'Excel

re

salut Ausecours.

un TCD n'est pas une fonction avancée, c'est la base. A apprendre avant de savoir faire une addition

mon conseil est de regarder quelques vidéos tutos sur le net

au fond, c'est simple. Faut juste apprendre à cliquer aux bons endroits.

bon travail et amitiés

Bonjour jepaname,

Bonjour à jmd et ausecour

J'ai déjà fait un test en créant une nouvelle ligne sur ma BDD2019.xlsx en entrant le même nom de société, même adresse... avec seulement le nom qui change, mais sur ma liste des sociétés de base de DVXXXX.xlsx l'entreprise apparait 2 fois, et ce n'est pas pour autant que ça change le nom (il ne prend que le premier nom)

Tu ne dois donc être pas loin d'une solution ... mais un fichier excel permettrait de te répondre plus objectivement, soit via un TCD comme proposé ci-dessus, soit avec une fonction matricielle (plus complexe à mettre en oeuvre)

Merci à vous je vais aller regarder 2-3 tutos Youtube pour voir comment fonctionnent les TCD

C'est une bonne résolution ... faute de poster un fichier ici.

Quelques obligations ont fait que je n'ai pas pu répondre plus tôt.

J'ai bien compris le système des TCD. Mais je n'ai rien trouvé sur les TCD sans valeurs numériques.

Je vous joins un fichier de test, cela sera sûrement plus simple.

Donc, afficher en colonnes les entreprises, puis afficher les noms des contacts + adresse qui diffèrent en face si j'ai plusieurs contacts pour la même entreprise. Mais ça, même en me creusant la tête, je n'ai pas trouvé

5bdd2019test.xlsx (18.83 Ko)

Bon, je n'ai pas vraiment compris quel était ton but final, mais en effet un TCD ne va pas être adapté.

Si tu cherches à sélectionner un item de ton tableau ... je te propose ceci (à aménager en fonction de ton besoin)

En gros j'ai une BDD (le fichier que tu as modifié) et j'ai 4 fichiers de devis différents qui viennent piocher les infos dans cette BDD grâce à, normalement, une liste déroulante avec les noms de sociétés qui sont répertoriés dans la BDD.

Cette solution est top ! Je vais me pencher un peu sur le VBA, je n'en ai jamais fait. Merci beaucoup !

Edit : Comment fais-tu pour ouvrir la boîte de dialogue de mise en page de ta Userform ? J'arrive à ouvrir la page de code mais pas de mise en page

Actuellement, la boite s'ouvre quand tu sélectionnes B1

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Intersect(Target, Range("B1")) Is Nothing Then Exit Sub
    If Target.Count > 1 Then Exit Sub
    myUserForm.Left = 100
    myUserForm.Top = 100
    myUserForm.Show
End Sub

Mais tu peux faire une macro

Sub lancer()

    myUserForm.Left = 100
    myUserForm.Top = 100
    myUserForm.Show

End Sub

puis modifier la fin du code de l'userform pour appliquer les données où tu souhaites en prenant en compte la position courante, par exemple :

    Selection.Offset(0, 1) = Me.ListBox1.Column(0)
    Selection.Offset(0, 2) = Me.ListBox1.Column(1)
    Selection.Offset(0, 3) = Me.ListBox1.Column(2)
    Selection.Offset(0, 4) = Me.ListBox1.Column(3)
    Selection.Offset(0, 5) = Me.ListBox1.Column(4)

Je vois, merci pour les détails.

Le fait est que je ne peux pas reprendre ce fichier là, car je dois cliquer sur une case d'un fichier externe à la BDD (fichiers devis comme expliqué plus haut). Donc il faut que je modifie tes codes en fonctions de chaque fichier de devis.

Je commence Excel par du fat

Cela doit être possible, en ouvrant par macro le fichier BDD en parallèle puis en le refermant après sélection de la ligne dans l'userform.

Rechercher des sujets similaires à "liste cascade"