Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

besoin d'aide : liste->sous liste->sous sous liste

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Niquido

XLDnaute Junior
Bonjour,

Je doit créer un fichier qui serra utiliser par plusieurs personnes de la boite.
Il doit permettre de lister toutes les étapes qu'il y à a faire pour réaliser un produit, et de nous donner le temps de chaque étapes et donc le total.
J'ai créer la bdd (base de données), et maintenant je cherche à faire la partie "interface" où l'utilisateur va tout renseigner.

la personne commence par définir la nature première liste (celle ci est créée), il faut qu'en fonction de ce qui est mis dans la colonne nature une liste soit proposé dans la colonne centre de charge. puis de la même façon un liste soit proposé dans la colonne opération en fonction du centre de charge.
Le problème c'est que je ne veut pas avoir la liste complète des centre de charge ou des opérations, mais que ceux qui correspond à la colonne précédente.

Voici le fichier sur lequel je travail, avec des explication dessus sur ce que je souhaite réaliser.

Si quelqu'un pourrait m'aider svp.

Merci.
 

Pièces jointes

Re : besoin d'aide : liste->sous liste->sous sous liste

re-bonjour Niquido 🙂

Tu trouveras un essai avec ton fichier en PJ

Pour la liste de validation colonne C, j'ai utilisé une zone nommée "Centre_lié" avec cette formule:
Code:
=DECALER(bdd!$J$2;EQUIV(Feuil2!$B2;Tableau6[nature];0)-1;1;NB.SI(Tableau6[nature];Feuil2!$B2);1)

Même principe pour la colonne D, avec une zone nommée "OP_Lié" et cette formule:
Code:
=DECALER(bdd!$M$2;EQUIV(Feuil2!$C2;Tableau3[centre de charge];0)-1;1;NB.SI(Tableau3[centre de charge];Feuil2!$C2);1)

Pour le temps HC, en F2 et copiée vers le bas:
Code:
=SOMMEPROD((Tableau1[nature]=$B2)*(Tableau1[centre de charge]=$C2)*(Tableau1[opération]=$D2)*(Tableau1[recherche]=$E2)*(Tableau1[temps unitaire HC]))

Vois si cela peut t'aider,

@+

mth
 

Pièces jointes

Re : besoin d'aide : liste->sous liste->sous sous liste

😀

Oui, pour une première fois ça peut arriver, pas de problème 🙂
Arf, entre hommes on se comprend!

Bonne journée à toi et @ +

mth
 
Re : besoin d'aide : liste->sous liste->sous sous liste

Question suivante, lol.

Est il possible si la liste qui est proposé ne contient qu'une valeur que celle ci soit mise directement, c-a-d qu'on est pas à cliquer sur l'ascenseur pour sélectionner la valeur unique qui y est proposé.

Merci
 
Re : besoin d'aide : liste->sous liste->sous sous liste

Re, je me demandai si il ne serai pas possible de faire la même chose que précédemment mais sans avoir plusieurs tableau. Je voudrais avoir qu'un seul gros tableau (le bleu) car ce dernier pourra être complété ou modifier par la suite, et les autres aussi seront à re-compléter du coup, ce que je veux éviter.

Pense tu que cela est possible ?😕

Merci d'avance.
 
Re : besoin d'aide : liste->sous liste->sous sous liste

re 🙂

Pour ceci:
Est il possible si la liste qui est proposé ne contient qu'une valeur que celle ci soit mise directement, c-a-d qu'on est pas à cliquer sur l'ascenseur pour sélectionner la valeur unique qui y est proposé.
ça se fait tout seul dès que tu ajoutes une ligne puisque tu as eu la bonne idée d'utiliser l'outil Tableau d'Excel

Pour l'autre question, c'est sûrement possible mais la façon dont tu as organisé tes tables est bien, les listes de validations sont faciles à faire.
Je me demande si tu ne pourrais pas au contraire les conserver, et par une macro mettre à jour ces trois tableaux en un clic, par exemple avec ce code que j'ai intégré dans ton fichier (bouton dans l'onglet bdd)

Code:
Option Explicit
Sub Macro1()
Dim Derlig As Long
Application.ScreenUpdating = False
With Sheets("Bdd")
'Calcul de la dernière ligne onglet bdd colonne A
Derlig = .Cells(Rows.Count, 1).End(xlUp).Row
    ' Colonne H = valeurs de la colonne A, puis on retire les doublons (idem autres tableaux)
    .Range("H2:H" & Derlig).Value = .Range("A2:A" & Derlig).Value
    .Range("$H$1:$H$" & Derlig).RemoveDuplicates Columns:=1, Header:=xlYes
    
    .Range("J2:K" & Derlig).Value = .Range("A2:B" & Derlig).Value
    .Range("$J$1:$K$" & Derlig).RemoveDuplicates Columns:=Array(1, 2), Header _
        :=xlYes
    .Range("M2:N" & Derlig).Value = .Range("B2:C" & Derlig).Value
    .Range("$M$1:$N$" & Derlig).RemoveDuplicates Columns:=Array(1, 2), Header _
        :=xlYes
    
    '*'*'*'*'*'
    ' tri du tableau 3
    
    Derlig = .Cells(Rows.Count, 13).End(xlUp).Row
    With .ListObjects("Tableau3").Sort
        .SortFields.Clear
        .SortFields.Add Key:=Range("M2:M" & Derlig), SortOn:=xlSortOnValues, Order:=xlAscending, _
            DataOption:=xlSortNormal
        .SortFields.Add Key:=Range("N2:N" & Derlig), SortOn:=xlSortOnValues, Order:=xlAscending, _
            DataOption:=xlSortNormal
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    
    '*'*'*'*'*'
    ' tri du tableau 6
    
    Derlig = .Cells(Rows.Count, 10).End(xlUp).Row
    With .ListObjects("Tableau6").Sort
        .SortFields.Clear
        .SortFields.Add Key:=Range("J2:J" & Derlig), SortOn:=xlSortOnValues, Order:=xlAscending, _
            DataOption:=xlSortNormal
        .SortFields.Add Key:=Range("K2:K" & Derlig), SortOn:=xlSortOnValues, Order:=xlAscending, _
            DataOption:=xlSortNormal
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    
    '*'*'*'*'*'
    ' tri du tableau 2
    
    Derlig = .Cells(Rows.Count, 8).End(xlUp).Row
    With .ListObjects("Tableau2").Sort
        .SortFields.Clear
        .SortFields.Add Key:=Range("H2:H" & Derlig), SortOn:=xlSortOnValues, Order:=xlAscending, _
            DataOption:=xlSortNormal
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End With
Application.ScreenUpdating = True
End Sub

Vois si cela peut te convenir,

Bonne soirée,

mth
 

Pièces jointes

Re : besoin d'aide : liste->sous liste->sous sous liste

OUAOU!!!!! truc de ouf merci beaucoup C le top ça.
Comme ça le jour ou l'on veux rajouter des lignes tout est mis à jour et pris en compte pour la suite.

Moi je ne connais pas le VBA, donc j'essaye de tout faire sans, avec des fonctions simple et du bricolage lol.

Merci bcp t'es trop fort, excellent.

je V continuer de travailler sur mon fichier, du coup si j'ai d'autre problème je te fais signe lol, et je te montrerai le fichier une fois finis avec tout ce qu'on m'a demander si ça te dis.
 
Re : besoin d'aide : liste->sous liste->sous sous liste

Bonjour,

Est-il possible de remplacer les :
Code:
Range("[COLOR="Red"]H2:H[/COLOR]" & Derlig).Value = .Range("[COLOR="Red"]A2:A[/COLOR]" & Derlig).Value
par:
Code:
Range("[COLOR="Red"]Tableau2[/COLOR]" & Derlig).Value = .Range("[COLOR="Red"]Tableau1[nature][/COLOR]" & Derlig).Value
et faire ça de partout ?
j'ai essayé mais ça n'a pas marché.
Cela me permettra de pouvoir rajouter des colonne dans les tableaux sans avoir à retoucher au VBA à chaque fois.==> si au lieu de dire je commence en A2 et je fini en A pouvoir directement dire la colonne nature du tableau 1.

Pense tu que c'est du possible ?

voir PJ
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
495
Réponses
26
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…