Dans un formulaire VBA associé à une valeur une autre valeur

Bonjour à tous,

Je développe un classeur correspondant à un carnet de vol.

Ce classeur comprend plusieurs feuilles l'une reprenant un tableau de bord, la seconde le carnet de vol, la troisième des data.

J'ai créé un formulaire afin de remplir lignes par lignes la feuille carnet de vol.

Ce formulaire comprend des comboBox dont les valeurs associées sont reprises dans la feuille data.

J'ai un combo box Avion qui me permet le choix d'une immatriculation et j'aimerais une fois ce choix fait qu'une case txt du formulaire reçoive automatiquement la valeur associée au choix de l'immatriculation à savoir le coût minute.

La solution dans la feuille de calcul est évidente grâce à une RECHERCHEV mais qu'en est-il pour un code VBA de formulaire?

J'espère avoir été clair dans le libellé de ma question

Merci d'avance

Papy280255

13logbook.xlsm (46.37 Ko)

Bonjour Papy280355 et bienvenue!

À première vue, ceci devrait fonctionner, me semble-t-il!?

Private Sub AVION_cmb_Change()
    If AVION_cmb.ListIndex = -1 Then coutmin_txt = "": Exit Sub
    lig = Application.Match(AVION_cmb, Sheets("Data").[A:A], 0)
    If IsError(lig) Then
        coutmin_txt = ""
    Else
        coutmin_txt = Sheets("Data").Cells(lig, 2)
    End If
End Sub

Merci de cette réponse plus que rapide et efficace.

Juste pour mon info dans le code lig= Application.Match à quoi correspond .[A:A], 0) Est ce la colonne A ?

si je voulais réaliser la même macro pour instructeur je devrais coder ceci:

'*****************************************************

'j'associe le choix de l'instructeur au coût unitaire instructeur

'******************************************************

Private Sub INSTRUCTEUR_cbm_Change()

If INSTRUCTEUR_cbm.ListIndex = -1 Then TextBox1 = "": Exit Sub

lig = Application.Match(INSTRUCTEUR_cbm, Sheets("Data").[E:E], 0)

If IsError(lig) Then

TextBox1 = ""

Else

TextBox1 = Sheets("Data").Cells(lig, 2)

End If

End Sub

d'avance grand merci

Papy280255

Re bonjour,

Application.Match c'est la fonction EQUIV utilisée en Vba.

Si tu cherches le nom de l'instructeur, ce serait plutôt en colonne D (donc [D:D])

Pour le reste, ces contrôles n'étaient pas dans ton premier UserForm ... on ne peut donc qu'espérer que leurs noms sont corrects dans ton code (d'autant que je vais être sur la route un bout de temps et éloigné de mon pc pendant une partie du week-end)

Ok merci encore, mais cela marche ainsi donc pas de soucis, je reviens vers toi si je bug encore.

Très bon Week end

Papy280255

Rechercher des sujets similaires à "formulaire vba associe valeur"