Erreur d’exécution 424 - Userform

Bonjour

je tourne en rond depuis toute la journée, et ne trouve pas la solution.

Lorsque je veux afficher l'userform2 il y a l'erreur 424.

Auriez vous une idée d'où peut survenir cette erreur d'éxécution.

Merci beaucoup

Bonsoir,

Moi, je vois une erreur 9, due au fait que la feuille BD n'existe pas !

Cordialement.

Bonjour

désolé pour cet impair!

Merci

Bonjour

hormis, mon impair... cette ligne ne semble pas adaptée pour Excel 2003! Quel serait son équivalent? Merci

Set bd = f.Range("A2:M" & f.[M65000].End(xlUp).Row)

le code complet:

Dim bd, f
Private Sub UserForm_Initialize()
  Set f = Sheets("BD")
  Set d = CreateObject("Scripting.Dictionary")
  Set bd = f.Range("A2:M" & f.[M65000].End(xlUp).Row)
  For i = 1 To bd.Rows.Count
     If bd.Cells(i, 1) <> "" Then d(bd.Cells(i, 1).Value) = ""
   Next i
   temp = d.keys
   Call Tri(temp, LBound(temp), UBound(temp))
   Me.ComboBox1.List = temp 
   Me.ListBox1.List = bd.Value 
   For k = 1 To 13: Me("label" & k).Caption = f.Cells(1, k): Next k
End Sub

Ta ligne est tout à fait compatible avec Excel 2003.

Cordialement.

bonjour

 Option Explicit ' Utiliser l’instruction Option Explicit au niveau module pour imposer la déclaration explicite
 ' de toutes les variables de ce module.
 Dim bd As Range, f As Worksheets, nb As Integer
   Private Sub UserForm_Initialize()
  Set f = Sheets("BD")
  Set d = CreateObject("Scripting.Dictionary")
  nb = f.Range("M" & Rows.Count).End(xlUp).Row
  Set bd = f.Range("A2:M" & nb)
  For i = 1 To bd.Rows.Count
     If bd.Cells(i, 1) <> "" Then d(bd.Cells(i, 1).Value) = ""
   Next i
   temp = d.keys
   Call Tri(temp, LBound(temp), UBound(temp))
   Me.ComboBox1.List = temp 'SVP Vérifiez que l userform2 contient un contrôle ComboBox nommé ComboBox1 et pas ComboBox3.
   Me.ListBox1.List = bd.Value
   For k = 1 To 13: Me("label" & k).Caption = f.Cells(1, k): Next k
End Sub

Bonjour MFerrand et Amir

merci beaucoup pour vos réponses. C'est grandement apprécié. J'ai fini par y voir clair!

Effectivement, vous avez raison pour l'instruction Option Explicit, mais j'hésite à l'utiliser compte tenu de mon niveau de connaissance en VBA.

à bientôt sur un nouveau post!

Il est recommandé de déclarer toutes ses variables (pour éviter des surprises), et justement Option Explicit sert aux débutants à ne pas en oublier ! Tant que tu ne les auras pas toutes déclarées VBA refusera d'exécuter !

Merci pour vos bons conseils. Je tacherai de m'y appliquer.

Rechercher des sujets similaires à "erreur execution 424 userform"