Ereur -2147352571 VBA
Bonjour le forum,
Je suis débutante en VBA et voici mon problème:
Losque je lance le code ci-dessous qui permet de lancer un Userform dans ma base de données, un message d'erreur apparait:
Erreur d'execution '-2147352571 :le type ne correspond pas
voila le code en question:
Private Sub UserForm_Initialize()
Set f = Sheets("Database")
For ln = 4 To f.Range("A" & Rows.Count).End(xlUp).Row
If (f.Range("QX" & ln) = "No") _
And Left(f.Range("A" & ln), 1) = "0" Then
ComboBox1.AddItem f.Range("A" & ln)
End If
Next ln
end subMerci beaucoup pour votre aide
Bonjour,
Essaie ainsi :
Option Explicit
Private Sub UserForm_Initialize()
Dim ws As Worksheet
Dim lastRow As Long, lRow As Long
Set ws = Worksheets("Database")
With ws
lastRow = .Cells(Rows.Count, "A").End(xlUp).Row
For lRow = 4 To lastRow
If Left(.Cells(lRow, "A"), 1) = "0" And UCase(.Cells(lRow, "QX")) = "NO" Then
Me.ComboBox1.AddItem .Cells(lRow, "A")
End If
Next lRow
End With
Set ws = Nothing
End SubMerci Jean-Eric pour votre réponse
En revanche, en executant le code avec F8, le code s'arrete sur les 3 lignes ci-dessous et il les mets en jaune
premiere ligne en jaune
If Left(.Cells(lRow, "A"), 1) = "0" And UCase(.Cells(lRow, "QX")) = "NO" Thenapres
End Ifet enfin
End WithC'est vraiment bizarre parceque ca marche parfois et parfois ca me sort l'erreur: le type ne correspond pas en soulignant les 3 lignes
Merci encore
Rebonjour le forum
voila le code complet, si quelqu'un peut m'aider
ca bug au niveau de Userform.show et on faisant les etapes par F8, le probleme vient de Userfrom_Initialize....J'ai essayé tout mais rien ne marche
Option Explicit
Dim f, ln, n, nomExclu, t, i, m, dico, Mdp
Private Sub ComboBox3_Change()
ListBox1.Clear
For ln = 4 To f.Range("A" & Rows.Count).End(xlUp).Row
If f.Range("A" & ln) = ComboBox3 Then
For i = 1 To 20
For n = 1 To 15
m = Choose(n, "January 2015", "February 2015", "March 2015", "April 2015", "May 2015", "June 2015", "July 2015", "August 2015", "September 2015", "October 2015", "November 2015", "December 2015", "January 2016", "February 2016", "March 2016")
If f.Range("A" & ln).Offset(-i, 0) = m Then
ListBox1.AddItem m
ListBox1.ListIndex = 0
GoTo suite
End If
Next n
Next i
End If
suite:
Next ln
End Sub
Private Sub CommandButton1_Click()
ln = f.Range("A4:A" & f.Range("A" & Rows.Count).End(xlUp).Row).Find(ListBox1, lookat:=xlWhole).Row
ln = f.Range("A" & ln + 1 & ":A" & f.Range("A" & Rows.Count).End(xlUp).Row).Find(ComboBox3, lookat:=xlWhole).Row
i = 1
f = Choose(i, "Database")
Sheets(f).Range("A" & ln) = ComboBox3
Sheets(f).Range("D" & ln) = ComboBox1
Sheets(f).Range("E" & ln) = ComboBox2
Sheets(f).Range("F" & ln) = TextBox6
Sheets(f).Range("G" & ln) = ComboBox5
Sheets(f).Range("H" & ln) = ComboBox4
Unload Me
End Sub
Private Sub CommandButton2_Click()
Unload Me
End Sub
Private Sub userform_Initialize()
Set f = Sheets("Database")
For ln = 4 To f.Range("A" & Rows.Count).End(xlUp).Row
If (f.Range("KZ" & ln) = "No") _
And Left(f.Range("A" & ln), 1) = "0" Then
ComboBox3.AddItem f.Range("A" & ln)
End If
Next ln
End Sub
Private Sub ListBox1_Click()
ln = f.Range("A4:A" & f.Range("A" & Rows.Count).End(xlUp).Row).Find(ListBox1, lookat:=xlWhole).Row
ln = f.Range("A" & ln + 1 & ":A" & f.Range("A" & Rows.Count).End(xlUp).Row).Find(ComboBox3, lookat:=xlWhole).Row
ComboBox1 = f.Range("D" & ln)
ComboBox2 = f.Range("E" & ln)
TextBox6 = f.Range("F" & ln)
ComboBox5 = f.Range("G" & ln)
ComboBox4 = f.Range("H" & ln)
End Sub
End SubMerci