Erreur d'exécution 424 "Objet Requis"
Résolu
cyrga11
Messages postés
48
Date d'inscription
Statut
Membre
Dernière intervention
-
cyrga11 Messages postés 48 Date d'inscription Statut Membre Dernière intervention -
cyrga11 Messages postés 48 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je reviens vers vous avec un petit souci. J'ai un tableau contenant deux colonnes. J'ai un Userform avec une ComboBox et une TextBox
L'idée est qu'il s'affiche dans la TextBox le contenu de la seconde colonne quand le contenu de la ComboBox est choisi dans la liste correspondant à la première colonne.
Voici mon code :
Sur mon erreur de débogage, cette ligne est toujours mise en jaune, mais je ne comprend pas pourquoi :
Me.Controls("TextBox" & I) = Ws.Cells(Ligne, I + 1)
Je précise que j'ai un autre Userform avec 7 TextBox (donc For I = 1 To 7) et un tableau plus grand que deux colonnes et que cette même ligne ne me pose pas de souci. Alors je comprend plus, si quelqu'un à la solution, je suis preneur.
Merci
EDIT : Ajout des balises de code
Je reviens vers vous avec un petit souci. J'ai un tableau contenant deux colonnes. J'ai un Userform avec une ComboBox et une TextBox
L'idée est qu'il s'affiche dans la TextBox le contenu de la seconde colonne quand le contenu de la ComboBox est choisi dans la liste correspondant à la première colonne.
Voici mon code :
'Pour le formulaire Private Sub UserForm_Initialize() 'Feuil3.Unprotect "wsdeadx8" Dim J As Long Dim I As Integer Set Ws = Sheets("JANVIER") 'Correspond au nom de votre onglet dans le fichier Excel With Me.ComboBox1 For J = 2 To Ws.Range("A" & Rows.Count).End(xlUp).Row .AddItem Ws.Range("A" & J) Next J End With For I = 1 To 1 Me.Controls("TextBox" & I).Visible = True Next I 'Feuil3.Protect "wsdeadx8" End Sub 'Pour la liste déroulante Code client Private Sub ComboBox1_Change() Feuil3.Unprotect "wsdeadx8" Dim Ligne As Long Dim I As Integer If Me.ComboBox1.ListIndex = -1 Then Exit Sub Ligne = Me.ComboBox1.ListIndex + 2 For I = 1 To 1 Me.Controls("TextBox" & I) = Ws.Cells(Ligne, I + 1) Next I Feuil3.Protect "wsdeadx8" End Sub
Sur mon erreur de débogage, cette ligne est toujours mise en jaune, mais je ne comprend pas pourquoi :
Me.Controls("TextBox" & I) = Ws.Cells(Ligne, I + 1)
Je précise que j'ai un autre Userform avec 7 TextBox (donc For I = 1 To 7) et un tableau plus grand que deux colonnes et que cette même ligne ne me pose pas de souci. Alors je comprend plus, si quelqu'un à la solution, je suis preneur.
Merci
EDIT : Ajout des balises de code
A voir également:
- Erreur d'execution 424 objet requis userform
- Erreur 0x80070643 - Accueil - Windows
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
- Java code erreur 1603 ✓ - Forum Windows
- Comment recuperer whatsapp supprimé par erreur - Guide
6 réponses
Bonjour,
Tu utilises Ws .. mais tu ne l'a pas initialisé dans ta SUB ... d'où l'erreur.
PS: Faire une boucle for i=1 to 1 ... n'a pas d'interet...
Autant mettre directement I=1
Tu utilises Ws .. mais tu ne l'a pas initialisé dans ta SUB ... d'où l'erreur.
PS: Faire une boucle for i=1 to 1 ... n'a pas d'interet...
Autant mettre directement I=1
Bonjour, concernant : For I = 1 To 1
Si je met seulement : For I = 1
Il me dit : Erreur de compilation: Attendu : To
Concernant Ws, je n'ai pas saisi ce que tu veux dire ?
Si je met seulement : For I = 1
Il me dit : Erreur de compilation: Attendu : To
Concernant Ws, je n'ai pas saisi ce que tu veux dire ?
Bonjour
Modificatiob de la combobox Change
Private Sub ComboBox1_Change()
Dim Ligne As Long
Dim I As Integer
If ComboBox1.ListIndex = -1 Then Exit Sub
Ligne = ComboBox1.ListIndex + 2
With Feuil3
.Unprotect "wsdeadx8"
TextBox1.Value = .Cells(Ligne, 2)
.Protect "wsdeadx8"
End With
End Sub
A+
Maurice
Modificatiob de la combobox Change
Private Sub ComboBox1_Change()
Dim Ligne As Long
Dim I As Integer
If ComboBox1.ListIndex = -1 Then Exit Sub
Ligne = ComboBox1.ListIndex + 2
With Feuil3
.Unprotect "wsdeadx8"
TextBox1.Value = .Cells(Ligne, 2)
.Protect "wsdeadx8"
End With
End Sub
A+
Maurice
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Re
Voila la combobox
Private Sub UserForm_Initialize()
Dim J As Long
Dim I As Integer
With Feuil3 'Correspond au CodeName de votre onglet dans le fichier Excel
ComboBox1.Clear
For J = 2 To .Range("A" & Rows.Count).End(xlUp).Row
.AddItem .Range("A" & J).Value
Next J
End With
TextBox1.Visible = True
End Sub
A+
Maurice
Voila la combobox
Private Sub UserForm_Initialize()
Dim J As Long
Dim I As Integer
With Feuil3 'Correspond au CodeName de votre onglet dans le fichier Excel
ComboBox1.Clear
For J = 2 To .Range("A" & Rows.Count).End(xlUp).Row
.AddItem .Range("A" & J).Value
Next J
End With
TextBox1.Visible = True
End Sub
A+
Maurice