Userform - Recherche - IndexEquiv

Bonjour, j'ai un dossier avec un formulaire où l'on choisit dans une liste déroulante le nom d'un lot et je souhaiterais que quand on fait notre choix tous les autres éléments tels que le nom prénom ect. apparaissent sur le UserForm. Les éléments ce trouve dans des tableaux différents, j'ai déjà fait la manipulation avec une fonction sur une feuille et je n'arrive pas à la traduire en VBA. Je ne sais pas si cela est compréhensible et surtout est ce que cela est possible.

Merci d'avance !

Bonjour,

En premier merci de bien vouloir compléter le profil de votre compte en y indiquant la version excel (2007, 2013, 2019, MAC2011, .....). C'est toujours plus facile pour celui qui doit vous répondre.


Je ne sais pas si cela est compréhensible et surtout est ce que cela est possible.

Probablement.
Pensez à mettre un fichier (sans données confidentielles) cela permet de vous apporter une solution adaptée à votre demande
Sinon vous disposez aussi d'informations via ce lien --> https://www.excel-pratique.com/fr/vba/controles. Dans cette page voyez déjà dans la sub Initialize

Cordialement

Bonjour, je suis sur Excel 2019 windows, voici le fichier en complément avec le formulaire qui s'appelle NouvelleEnt

et je voudrais faire apparaitre le loyer les charges qui sont dans le tableau de la feuille Lots ainsi que le nom et le prénom du locataire dans le tableau de la feuille Locataire mais aussi le box et son prix si le locataire en a un.

re

je suis sur Excel 2019 windows,

Ok mais comme écrit avant c'est utile dans le profil de votre compte ou alors vous avez envie de répéter chaque votre version dans toutes vos demandes futures ?

je voudrais faire apparaitre le loyer les charges qui sont dans le tableau de la feuille Lots ainsi que le nom et le prénom du locataire dans le tableau de la feuille Locataire mais aussi le box et son prix si le locataire en a un.

Ok mais vous sélectionnez la cellule concernée dans la feuille Lots puis vous cliquez sur le bouton Nouveau Lot ?
Comment fonctionnez-vous ?

ah oui d'accord je vais compléter le profil

je voudrais le faire apparaitre dans le formulaire NouvellEnt quand on choisit un nom de lot donc ici soir Num 1 ou Num 2 dans la liste déroulante et que les informations apparaissent

Ah ok, on n'est sur le formulaire NouvelENT.

La liste de nom de lot provient de quel tableau ou quelle feuille ?

Oui c'est ça, elle provient du tableau Tab_Lot qui est dans la feuille Lots.

Oui c'est ça, elle provient du tableau Tab_Lot qui est dans la feuille Lots.

Est-ce que vous pouvez avoir des doublons dans la colonne A ?


NB : je vous conseille d'évitez les espaces entre NUM et le numéro. Vous risquez d'avoir des erreurs surtout avec VBA. Faites plutot comme ceci --> NUM_1 ou Num1 ou Num001

Non il n'y a pas de doublon

Oui effectivement ce n'est pas les nom définitif, je vais le retirer.

Re

Dans votre USF NouvelleEnt, mettez ces deux codes

1. Ouverture USF

Private Sub UserForm_Initialize()

On Error Resume Next
With Sheets("Lots").ListObjects(1)
    If .ListRows.Count > 1 Then
        Lot_Ent.List = .DataBodyRange.Value
    Else: Lot_Ent.AddItem .DataBodyRange(, 1).Value
    End If
End With
End Sub

2. Code sur choix combo Lot_Ent

Private Sub Lot_Ent_Change()
Dim lig As Integer, ligbox As Integer
Dim box As String

With Sheets("Locataire").ListObjects(1)
    lig = WorksheetFunction.Match(Lot_Ent.Value, .ListColumns(3).DataBodyRange, 0)
    Nom_Ent = .DataBodyRange(lig, 1).Value
    Pren_Ent = .DataBodyRange(lig, 2).Value

    box = .DataBodyRange(lig, 4).Value
    lig = 0
End With

With Sheets("Lots").ListObjects(1)
    lig = WorksheetFunction.Match(Lot_Ent.Value, .ListColumns(1).DataBodyRange, 0)
    Loyer_Ent = .DataBodyRange(lig, 5).Value
    Charges_Ent = .DataBodyRange(lig, 6).Value
    lig = 0
End With

With Sheets("Box").ListObjects(1)
    ligbox = WorksheetFunction.Match(box, .ListColumns(1).DataBodyRange, 0)
    Prix_Box_Ent = .DataBodyRange(ligbox, 3).Value
End With
End Sub

Faites un test avant d'aller plus loin

Attention que vous devez supprimer les ROWSSOURCE que vous avez placé pour vous éviter une erreur à l'ouverture des USF

NB : pour l'instant comme vos données ne sont pas rassemblées dans une feuille (plus facile en cas d'erreur), cela suppose que les BOX et Num lot sont bien renseignés partout.

Merci beaucoup mais cela ne marche toujours pas...

j'ai bien supprimé les Rowssources

Merci beaucoup mais cela ne marche toujours pas...

Chez moi oui. Regardez :

presse papier01

Afin que je comprenne, expliquez-moi ce que vous faites et/ou ce qui ne fonctionne pas

Re, je viens de vérifier tous le noms et j'avais changé certain nom quand j'essayais d'autre chose mais donc effectivement merci beaucoup car cela marche !!

Rechercher des sujets similaires à "userform recherche indexequiv"