Comment faire 2 initialize en 1 ?

Bonjour,

je vous écris par ce que j'ai un soucis de code VBA que je n'arrive pas à résoudre.

J'ai deux codes qui font chacun quelque chose que je cherche a faire mais je n'arrive pas a faire les 2 en même temps.

1. Ce code affiche correctement dans ma listbox la liste des membres qui sont dans la même équipe qui se trouve en D2 de la sheet Selection :

Private Sub UserForm_Initialize()
    With Sheets("BDD")
        For i = 2 To .Range("B" & .Rows.Count).End(xlUp).Row
            If .Range("G" & i) = Sheets("Selection").Range("D2") Then
                ListBox1.AddItem .Range("PL" & i).Value
            End If
        Next i
    End With
End Sub

2. Le code suivant permet de de modifier les classements des membres dans la sheet BDD.

Private Sub UserForm_Initialize()
    With Sheets("BDD")
        Set f = Sheets("BDD")
        Set plg = f.Range("A2:C" & f.[a65000].End(xlUp).Row)
            Me.ListBox1.List = plg.Value
            Me.ListBox1.MultiSelect = fmMultiSelectMulti
            nomTableau = "TABLO"
            TBlBD = Range(nomTableau).Value
            Me.ListBox1.List = TBlBD
            Me.ListBox1.ColumnCount = 11
            Me.ListBox1.ColumnWidths = "0;0;0;0;0;0;0;0;0;0"
        Set d = CreateObject("scripting.dictionary")
    End With
End Sub

Et je n'arrive pas a faire les deux. Si vous pouvez me dépanner, ça me rendrais bien service.

Bonjour,

pour commencer on ne peut jamais créer deux fois le même évenement.

Donc il n'y a qu'un seul : Private Sub UserForm_Initialize()

Tu dois écrire tes codes dans le même évènement ; cependant je vois que tes deux codes travail sur la même listbox1.

Si les actions ne sont pas compatibles alors de devra insérer tes deux codes après condition.

Dans ce style.

If condion 1 =vrai …. alors code 1

else code 2

end if

Sans fichier difficile de dire plus.

Merci pour ton message mais j'aimerais que les 2 soient vrai.

En gros, il me faudrait le second code mais au lieu d'afficher la totalité du tableau dans la listbox,

il me faudrait que la liste des entrées qui en a en colonne G le même contenu que dans la case D2.

Si quelqu'un a une solution, je suis très embêté

Re bonjour,

Puisque tu ne sembles pas vouloir transmettre un fichier test alors

bêtement tes deux codes l'un après l'autre.

Private Sub UserForm_Initialize()
    With Sheets("BDD")
        For i = 2 To .Range("B" & .Rows.Count).End(xlUp).Row
            If .Range("G" & i) = Sheets("Selection").Range("D2") Then
                ListBox1.AddItem .Range("PL" & i).Value
            End If
        Next i
    End With

With Sheets("BDD")
        Set f = Sheets("BDD")
        Set plg = f.Range("A2:C" & f.[a65000].End(xlUp).Row)
            Me.ListBox1.List = plg.Value
            Me.ListBox1.MultiSelect = fmMultiSelectMulti
            nomTableau = "TABLO"
            TBlBD = Range(nomTableau).Value
            Me.ListBox1.List = TBlBD
            Me.ListBox1.ColumnCount = 11
            Me.ListBox1.ColumnWidths = "0;0;0;0;0;0;0;0;0;0"
        Set d = CreateObject("scripting.dictionary")
    End With

End Sub

Par contre si çà ne fonctionne pas je ne suis pas devin et sans fichier pas d'autre idée.

Rechercher des sujets similaires à "comment initialize"