XL 2016 Problème erreur 13 incompatibilité de type

moi64

XLDnaute Nouveau
Bonjour à tous,

Voici quelques temps j'ai monté un fichier qui permet de récupérer des informations dans une userform en renseignant une textbox. Le but est de commencer à écrire un mot, et la macro cherche dans une feuille BD, les données qui s'y rapportent pour les faire apparaître dans la list box.

Tout allait bien, sauf que maintenant quand on renseigne la textbox une erreur 13 apparaît au niveau de la ligne en rouge. J'ai essayé de trouver l'erreur mais sans succès et j'ai aggravé le truc puisque maintenant j'ai une erreur au niveau de la ligne verte...

J'ai bien essayé de shunter l'erreur, mais même si cela fonctionne, le tri ne se fait plus.

Pourriez vous m'éclairer sur ce qui ne fonctionne pas/ plus dans ce code ? Je joins le fichier pour plus de clarté.

Je vous remercie pour votre aide précieuse.


Option Explicit

Dim f, choix(), Rng, Ncol

Private Sub Label1_Click()

End Sub

Private Sub UserForm_Initialize()
Set f = Sheets("BD")
Set Rng = f.Range("a2:L" & f.[a65000].End(xlUp).Row)
TblTmp = Rng.Value
Ncol = Rng.Columns.Count
For i = LBound(TblTmp) To UBound(TblTmp)
ReDim Preserve choix(1 To i)
For k = LBound(TblTmp) To UBound(TblTmp, 2)
choix(i) = choix(i) & TblTmp(i, k) & " * "
Next k
Next i
Me.ListBox1.List = Rng.Value
End Sub

Private Sub TextBox1_Change()

If Me.TextBox1 <> "" Then
mots = Split(Trim(Me.TextBox1), " ")
Tbl = choix
For i = LBound(mots) To UBound(mots)
Tbl = Filter(Tbl, mots(i), True, vbTextCompare)
Next i
n = 0: Dim b()
For i = LBound(Tbl) To UBound(Tbl)
a = Split(Tbl(i), "*")
n = n + 1: ReDim Preserve b(1 To Ncol, 1 To n)
For k = 1 To Ncol
b(k, i + 1) = a(k - 1)
Next k
Next i
If n > 0 Then
ReDim Preserve b(1 To Ncol, 1 To n + 1)
Me.ListBox1.List = Application.Transpose(b)
Me.ListBox1.RemoveItem n
End If
Me.Label1.Caption = UBound(Tbl) + 1

If Me.Label1.Caption = "0" Then

Call MsgBox("Le fournisseur n'est pas existant. Souhaitez vous le créer? ", 4 + vbInformation, "Attention")
 

Pièces jointes

  • essai base forum.xls
    60.5 KB · Affichages: 18

job75

XLDnaute Barbatruc
Bonjour moi64, bienvenue sur XLD,

Le fichier joint est vérolé, il y a un avertissement à l'ouverture.

En l'état il y a bug dès l'ouverture du fichier et erreur de compilation à l'ouverture de l'UserForm.

Joignez un fichier qui tienne un peu mieux la route.

A+
 

job75

XLDnaute Barbatruc
Re,

J'ai quand même pu voir que les bugs dans UserForm_Initialize et TextBox1_Change sont dus à ce que plusieurs variables ne sont pas déclarées.

Quand on utilise Option Explicit toutes les variables doivent être déclarées.

A+
 

moi64

XLDnaute Nouveau
Bonjour Job 75

Jje vous prie de bien vouloir m'excuser pour le fichier qu'effectivement je ai envoyé en l'état et vous remercie pour votre retour.

Votre remarque m'a toutefois aidé car en remodelant le premier fichier j'ai fais quelques modifications pour le rendre plus acceptable et ... je n'ai plus l'erreur 13...

Je devais avoir des erreurs dans la déclaration des variables en effet, j'ai également supprimé Option Explicit, plus d'erreur...

Pourriez vous m'éclairer ?
 

Pièces jointes

  • forum - Copie.xlsm
    63.1 KB · Affichages: 18

Discussions similaires

Statistiques des forums

Discussions
314 638
Messages
2 111 483
Membres
111 166
dernier inscrit
Rubine