Listé déroulante et fonction si

Y compris Power BI, Power Query et toute autre question en lien avec Excel
c
coconut-6
Membre habitué
Membre habitué
Messages : 57
Inscrit le : 22 décembre 2015
Version d'Excel : 2010

Message par coconut-6 » 3 octobre 2018, 22:47

Si vous avez une amélioration je suis preneuse !

Et est ce possible d’avoir une liste qui dépende de la catégorie choisie ? Par exemple si j’ai une fonction C03 les seuls noms qui me seront proposés seront des C03 ?

Merci beaucoup en tout cas !
Avatar du membre
Juice
Membre impliqué
Membre impliqué
Messages : 1'141
Appréciations reçues : 102
Inscrit le : 28 novembre 2017
Version d'Excel : Microsoft Excel 2010

Message par Juice » 4 octobre 2018, 09:19

Re Coconut !

Voilà pour "l'amélioration" !

Je t'ai rajouté les deux codes ci-dessous :
Private Sub Worksheet_Activate()                        'Quand on viens sur la Feuille Intervenants
NbLigne = Range("D" & Rows.Count).End(xlUp).Row         'On compte nos lignes
End Sub]
Compte le Nbr de ligne colonne Prénom de la Feuille Intervenants quand tu arrive dessus
Private Sub Worksheet_Activate()                        'Quand on viens sur la Feuille Prévisions
Dim x As Long, a As Long, y As Long
x = Sheets(1).Range("D" & Rows.Count).End(xlUp).Row     'On compte les lignes colonne D Feuil1
If NbLigne = 0 Then                                     'Gestion Erreur
    Exit Sub
End If
If x <> NbLigne Then                                    'Si x est différent de nos NbLigne alors il faut mettre à jour nos liste
Application.EnableEvents = False
    a = Range("E" & Rows.Count).End(xlUp).Row
    For y = 2 To a
        If Cells(y, 3) <> "Pôle Technique" Then
            Cells(y, 5).Select
            With Selection.Validation                       'Supp ancienne liste de valid
                .Delete
                .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _
                :=xlBetween
                .IgnoreBlank = True
                .InCellDropdown = True
                .InputTitle = ""
                .ErrorTitle = ""
                .InputMessage = ""
                .ErrorMessage = ""
                .ShowInput = True
                .ShowError = True
            End With
            With Selection.Validation                           'Mise à jour nvlle liste de valid
                .Delete
                .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator _
                :=xlBetween, Formula1:="=Intervenants!$D$2:$D$" & x
                .IgnoreBlank = True
                .InCellDropdown = True
                .InputTitle = ""
                .ErrorTitle = ""
                .InputMessage = ""
                .ErrorMessage = ""
                .ShowInput = True
                .ShowError = True
            End With
        End If
    Next
Cells(3, 1).Select
End If
Application.EnableEvents = True
End Sub
Compte à nouveau le nbr de ligne de la colonne Prénom de la Feuille Intervenants quand on retourne sur la feuille Prévisions
Si le nbr de ligne est différent, alors on remet à jour les listes déroulantes

Et est ce possible d’avoir une liste qui dépende de la catégorie choisie ? Par exemple si j’ai une fonction C03 les seuls noms qui me seront proposés seront des C03 ?
J'ai pas très bien saisie la demande!

J'ai compris l'histoire de la catégorie du coup :
Coconut.PNG
Coconut.PNG (2 Kio) Vu 32 fois
Mais j'ai pas compris comment on fessait pour dire que tel prénom correspond à tel catégorie ?

Vala ! Je reste à dispo :)
Pour coconut.xlsm
(119.05 Kio) Pas encore téléchargé
Dans l'incapacité de continuer à vous aidez sur vos fichiers, je vous prie de bien vouloir m'excuser et vous invite à ouvrir un nouveau sujet pour reprendre vos problèmes avec un membre actif du Forum.

En espérant revenir très vite :)
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message