Code pour liste déroulante

Bonjour tout le monde.

Je bloque sur le code d’une liste déroulante. Le principe est simple mais étant débutant je n’arrive pas à trouver un code qui fonctionne.

Dans mon fichier joint vous trouverez une feuille « informations administratives » qui aura l’ensemble des cellules du tableau remplies.

Dans la seconde feuille « choix sous-traitant » doit se trouver ma liste deroulante permettant le choix d’un des 38 sous traitant (a,b,c,…,al)

Dans la troisième feuille « contrat à imprimer doivent être envoyées les informations correspondant au sous-traitant choisi et récupérées dans la première feuille (cellules à fond gris)

Je dois également pouvoir actualiser mon premier tableau en ajoutant des sous traitant et que cela se repercute sur ma liste déroulante.

Si on nomme i la ligne du sous traitant choisi (=soustraitant n°(i-3)), je cherche à obtenir

Worksheets(« Contrat à imprimer »).Cells(35, 4) = Worksheets(« Informations administratives »).Cells(i, 2)

Worksheets(« Contrat à imprimer »).Cells(73, 15) = Worksheets(« Informations administratives »).Cells(i, 2)

Worksheets(« Contrat à imprimer »).Cells(77, 39) = Worksheets(« Informations administratives »).Cells(i, 3)

Worksheets(« Contrat à imprimer »).Cells(75, 28) = Worksheets(« Informations administratives »).Cells(i, 5)

Worksheets(« Contrat à imprimer »).Cells(75, 10) = Worksheets(« Informations administratives »).Cells(i, 7)

Worksheets(« Contrat à imprimer »).Cells(74, 17) = Worksheets(« Informations administratives »).Cells(i, 8)

Worksheets(« Contrat à imprimer »).Cells(77, 13) = Worksheets(« Informations administratives »).Cells(i, 13)

Worksheets(« Contrat à imprimer »).Cells(77, 39) = Worksheets(« Informations administratives »).Cells(i, 14)

Worksheets(« Contrat à imprimer »).Cells(113, 16) = Worksheets(« Informations administratives »).Cells(i, 15)

Est-ce que qq1 pourrait SVP m’indiquer les codes ou parties de code pouvant m’aider

ci-joint mon document

https://www.excel-pratique.com/~files/doc/code_liste_deroulante.xls

Merci d’avance

[size=75]Édition par Mytå, pour Désactiver les smilies dans ce message.

Un format de classeur qui m'à donner la nausée et un début de crise d'épilepsie.

Fatiguant à regarder les petits carrés ! [/size]

Bonjour.

Un collègue m'a donné quelques infos qui m'ont permis de rédiger un semblant de code.

Une erreur de type 424 est signalée après débogage. Quelqu'un pourrait-t-il consulter mon code et m'indiquer les causes de cette erreur et/ou me signaler s'il repère d'autres fautes dans mon code.

ci-joint mon document :

https://www.excel-pratique.com/~files/doc/code_liste_deroulante2.xls

Merci d'avance

Cordialement

Bonjour,

peut-être un peu trop tardive ma réponse, mais si tu reviens....

le code :

dans l'évènement de feuille :

Private Sub Worksheet_Activate()
Dim pl As Range
Set pl = Sheets("Informations administratives").Range("B3:B" & Sheets("Informations administratives").[B65000].End(xlUp).Row)
pl.Name = "soustraitants"
With ActiveSheet
    .DropDowns("Drop Down 1").List = [soustraitants]
End With
End Sub

et dans le module :

Sub ComboBox_Change()
Dim a As Long
a = ActiveSheet.Shapes("Zone combinée 1").ControlFormat.Value + 2
            Worksheets("Contrat à imprimer").Cells(35, 4) = Worksheets("Informations administratives").Cells(a, 2)
            Worksheets("Contrat à imprimer").Cells(73, 15) = Worksheets("Informations administratives").Cells(a, 2)
            Worksheets("Contrat à imprimer").Cells(77, 39) = Worksheets("Informations administratives").Cells(a, 3)
            Worksheets("Contrat à imprimer").Cells(75, 28) = Worksheets("Informations administratives").Cells(a, 5)
            Worksheets("Contrat à imprimer").Cells(75, 10) = Worksheets("Informations administratives").Cells(a, 7)
            Worksheets("Contrat à imprimer").Cells(74, 17) = Worksheets("Informations administratives").Cells(a, 8)
            Worksheets("Contrat à imprimer").Cells(77, 13) = Worksheets("Informations administratives").Cells(a, 13)
            Worksheets("Contrat à imprimer").Cells(77, 39) = Worksheets("Informations administratives").Cells(a, 14)
            Worksheets("Contrat à imprimer").Cells(113, 16) = Worksheets("Informations administratives").Cells(a, 15)
End Sub

le fichier :

https://www.excel-pratique.com/~files/doc/code_liste_deroulante3.zip

Rechercher des sujets similaires à "code liste deroulante"