[VBA] Userform et Listbox pour

Bonjour le forum

Ce fichier est une partie de mon projet, et a pour but de remplir par une valeur une cellule d'une colonne déterminée .

Pour cela il y a ouverture d'un Userform avec une listBoxs . ( le code est commencé )

Dans le fichier joint, j'ai mis la séquence des opérations que je souhaite en feuiile 2 .

Cela sera valable pour l'ensemble des feuilles après ("DATA") & ("ADMINISTRATEUR")

mais je n'arrive pas à finaliser le reste.

Merci de votre aide

A bientôt sur le forum

Bonjour le Forum

J'ai mis une nouvelle version du fichier avec un code qui fonctionne. (Mis les commentaires)

Je pense que cette partie peut être amélioré avec Elseif Option Button, mais je n'ai pas réussi à la mettre en place.

'-----------------------------------------------------------------------------
'   PROCEDURE CHARGER LISTbOX "LtBoxs_Theme" SUIVANT OptionButton SÉLECTIONNÉ
'-----------------------------------------------------------------------------

'Si Théme ELEC DANS USERFORM1 = 1
Private Sub OptBtn_ELEC_Click()

Dim Lig As Integer
Dim DerLig As Integer
Dim LtBx_TId    As Integer

    'Si OptBtn_ELEC sélectionné, alors Vider puis charger la listBoxs
    If OptBtn_ELEC = True Then
    'Vider la listBoxs
    Me.LtBx_TId.Clear
        'Charger la listBoxs depuis Feuil "DATA"
        With Sheets("DATA")
            DerLig = .Range("AA9").End(xlDown).Row
                For Lig = 9 To DerLig
                    'Chargement de la listBoxs
                    Me.LtBx_TId.AddItem .Range("AA" & Lig)
                Next Lig
        End With
    End If
End Sub

'Si Théme INST DANS USERFORM1 = 1

Private Sub OptBtn_INST_Click()
Dim Lig As Integer
Dim DerLig As Integer
Dim LtBoxs_Theme As Integer

    'Si OptBtn_INST sélectionné, alors Vider puis Charger la listBoxs
    If OptBtn_INST = True Then
    'Vider la listBoxs
    Me.LtBx_TId.Clear
        'Charger la listBoxs depuis Feuil "DATA"
        With Sheets("DATA")
            DerLig = .Range("AC9").End(xlDown).Row
                For Lig = 9 To DerLig
                    'Chargement de la listBoxs
                    Me.LtBx_TId.AddItem .Range("AC" & Lig)
                Next Lig
        End With         
    End If
End Sub

    'Si Théme MEC DANS USERFORM1 = 1

Private Sub OptBtn_MEC_Click()

Dim Lig As Integer
Dim DerLig As Integer
Dim LtBx_TId As Integer
    'Si OptBtn_MEC sélectionné, alors Vider puis Charger la listBoxs
    If OptBtn_MEC = True Then
    'Vider la listBoxs
    Me.LtBx_TId.Clear

        With Sheets("DATA")
            DerLig = .Range("AE9").End(xlDown).Row
                For Lig = 9 To DerLig
                    'Chargement de la listBoxs
                    Me.LtBx_TId.AddItem .Range("AE" & Lig)
                Next Lig
        End With
    End If
End Sub

'Si Théme PIPE DANS USERFORM1 = 1

Private Sub OptBtn_PIPE_Click()

Dim Lig As Integer
Dim DerLig As Integer
    'Si OptBtn_PIPE sélectionné, alors Vider puis Charger la listBoxs
    If OptBtn_PIPE = True Then
    'Vider la listBoxs
    Me.LtBx_TId.Clear

        With Sheets("DATA")
            DerLig = .Range("AG9").End(xlDown).Row
                For Lig = 9 To DerLig
                    'Chargement de la listBoxs
                    Me.LtBx_TId.AddItem .Range("AG" & Lig)
                Next Lig
        End With
    End If
End Sub

'Si Théme GENE DANS USERFORM1 = 1

Private Sub OptBtn_GENE_Click()
Dim Lig As Integer
Dim DerLig As Integer
    'Si OptBtn_GENE sélectionné, alors Vider puis Charger la listBoxs
    If OptBtn_GENE = True Then
    'Vider la listBoxs
    Me.LtBx_TId.Clear

        With Sheets("DATA")
            DerLig = .Range("AI9").End(xlDown).Row
                For Lig = 9 To DerLig
                    'Chargement de la listBoxs
                    Me.LtBx_TId.AddItem .Range("AI" & Lig)
                Next Lig
        End With
    End If

End Sub

'PROCEDURE AFFECTATION ITEMS DANS TxtBox_Col4  N FONCTION DU CHOIX DS LtBx_MCur

Private Sub LtBx_TId_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

Dim i As Byte
Dim VltbxE As String

    'Boucle sur la liste
    For i = 0 To LtBx_TId.ListCount - 1
        If LtBx_TId.Selected(i) = True Then
            TxtBox_Col4 = Me.LtBx_TId
        End If
    Next i
End Sub

'PROCEDURE VALIDATION INFOS PAR Btn_ValidDcripIncid

Private Sub Btn_ValidDcripIncid_Click()
    ActiveCell.Value = TxtBox_Col4
    Unload Me
End Sub

Private Sub Btn_ExitDcripIncid_Click()
Unload Me
End Sub

Je but sur ce bout de code:

'PROCEDURE POSITION Frm_DcripIncid
'fonctionne avec zoom 70%, comment faire la même chose si le zoom est différent ?
Private Sub UserForm_Activate()
    Me.Top = Range("G10").Top

End Sub

Autre demande

Le but est de placer l'Userfom à proximité de la cellule "G10"

Cela fonctionne avec le zoom à 70% , mais pas avec un zoom différent !

Merci de votre aide

Bonne journée à tous

Bonjour

Placer UF a coté de la cellule G10 de quelle feuille ,a droite ou a gauche de la cellule?

Bonjour jaco7915

Comme je l’ai mise d’ans l’Userform, je pense que cela est valable pour toutes les feuilles

Sinon à droite de la cellule stp

Merci

A bientôt

Rechercher des sujets similaires à "vba userform listbox"