Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 UserForm / Combobox / ListBox / erreur d'execution 13

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

S

sebpecoud

Guest
Bonjour,

Ci-joint mon code :
VB:
Private Sub UserForm_Initialize()
Dim D As Object, I As Integer
Me.ListBox1.ColumnCount = 6
Me.ListBox1.ColumnWidths = "98;98;98;98;98;98"
Me.ListBox1.Width = 300
Set F = Sheets("Traitement")
TC = F.Range("A1").CurrentRegion
Set D = CreateObject("Scripting.Dictionary")
For I = 1 To UBound(TC, 1)
    D(TC(I, 1)) = ""
Next I
Me.ComboBox1.List = D.keys
Me.TextBox1.Visible = True
Me.CommandButton1.Visible = True
End Sub
Private Sub ComboBox1_Change()
Dim I As Integer
For I = 1 To UBound(TC, 1)
[COLOR=#fac51c]   If TC(I, 1) = Me.ComboBox1.Value Then (=> erreur Type 13 "incompatibilité de type"[/COLOR]
         Me.ListBox1.AddItem TC(I, 1)
         Me.ListBox1.List(ListBox1.ListCount - 1, 1) = TC(I, 1)
         Me.ListBox1.List(ListBox1.ListCount - 1, 2) = TC(I, 2)
         Me.ListBox1.List(ListBox1.ListCount - 1, 3) = TC(I, 3)
         Me.ListBox1.List(ListBox1.ListCount - 1, 4) = TC(I, 4)
         Me.ListBox1.List(ListBox1.ListCount - 1, 5) = TC(I, 5)
         Me.ListBox1.List(ListBox1.ListCount - 1, 6) = TC(I, 6)
    End If
Next I
End Sub

Ce que je veux faire avec ce code :
Dans un premier temps dans afficher dans mon Combobox1 le texte de la colonne A de la feuille Traitement.

Puis afficher dans mon ListBox1, sur 6 colonnes, les infos correspondantes.

Je rencontre différent problème, celui signalé en Jaune.
Cependant, quand je remplace par If TC(I, 6) = Me.ComboBox1.Value Then alors je n'ai plus d'erreur mais je n'ai rien qui s'affiche dans mon ListBox1.

Voici mon tableau (j'ai évidemment caché les infos).


Je démarre dans UserForm.


Je vous remercie.

Sebastien
 
Bonjour
Le type integer (que tu as donné à ta variable I) est limité à 32 767
Si ton tableau TC a un nombre de lignes supérieur à 32 767, son ubound également --->> incompatibilité de type.
Type donc en long ta variable I
 
Bonjour @sebpecoud @jmfmarques , le Forum

Dans un premier temps dans afficher dans mon Combobox1 le texte de la colonne A de la feuille Traitement.
Puis afficher dans mon ListBox1, sur 6 colonnes, les infos correspondantes.

Sans example, pas sûr d'avoir capté, mais bon, dans l'exemple ci-joint
La Combo affiche les infos demandée dans la Listbox...

Bien à toi, à vous
@+Thierry
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
10
Affichages
644
  • Question Question
Microsoft 365 affichage userform
Réponses
4
Affichages
508
Réponses
4
Affichages
615
Réponses
3
Affichages
915
Réponses
8
Affichages
375
Réponses
15
Affichages
713
Réponses
10
Affichages
989
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…