Microsoft 365 Formulaire recherche qui plante - VBA

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 !

Mcmaldo

XLDnaute Nouveau
Bonjour, j'écris ce post car j'ai fait le tour de mes connaissances et même en regardant partout je ne trouve pas de solution.
J'ai une base (Sous forme de tableau) Onglet Source. (Une mise à jour du tableau est réalisée de temps en temps par une autre macro)
J'ouvre un formulaire pour réaliser une recherche dans cet onglet.
Le formulaire se charge correctement. Suivant le mot recherché VBA plante. Erreur 13 Incompatibilité de type.
Si je recherche 1 ou 5 ou 8 tout fonctionne correctement. pour tout le reste ça plante dans cette partie là.

VB:
Private Sub TextBoxRech_Change()
  If Me.TextBoxRech <> "" Then
     mots = Split(Trim(Me.TextBoxRech), " ")
     Tbl = choix
     For i = LBound(mots) To UBound(mots)
        Tbl = Filter(Tbl, mots(i), True, vbTextCompare)
     Next i
     If UBound(Tbl) > -1 Then
        Dim b(): ReDim b(1 To UBound(Tbl) + 1, 1 To NbCol + 1)
        For i = LBound(Tbl) To UBound(Tbl)
          a = Split(Tbl(i), "|")
          j = a(NcolInt)
 [B]         For C = 1 To NbCol: b(i + 1, C) = BD(j, C): Next C[/B]
          b(i + 1, C) = j
        Next i
        Me.ListBox1.List = b
     Else
       Me.ListBox1.Clear
     End If
  Else
     UserForm_Initialize
  End If
End Sub

il me semble qu'une variable cloche mais je ne trouve pas laquelle.

Si vous avez une solution, je suis preneur car c'est la dernière phase de mon projet.
bonne journée.
 

Pièces jointes

Solution
J'ai trouvé l'erreur ! Simple comme bonsoir... En fait dans l'avant dernière colonne j'ai des données avec le signe "|" Or je me servais de ce même sigle pour Spliter les données pour la recherche. Il suffisait donc que j'enlève | dans mes données et là le formulaire ne plante plu. Merci quand même à tous ceux qui ont lu 😉
Bonjour
j, non typé explicitement As Long, vaut "JAJA" au moment du plantage, soit a(9).
Ne peut se convertir en indice numérique de tableau.
Bonjour merci pour cette réponse. A n'importe quel endroit que je type j as long le userform plante. En fait j prend la valeur de a (Ncolint) comme a a une valeur texte (dépendante de la recherche) ça plante. Pour 1 ça passe pour 3 ça passe plus. J'ai l'impression que le UBound est limité
 
J'ai trouvé l'erreur ! Simple comme bonsoir... En fait dans l'avant dernière colonne j'ai des données avec le signe "|" Or je me servais de ce même sigle pour Spliter les données pour la recherche. Il suffisait donc que j'enlève | dans mes données et là le formulaire ne plante plu. Merci quand même à tous ceux qui ont lu 😉
 
- 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

Discussions similaires

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
478
Réponses
3
Affichages
664
Réponses
8
Affichages
233
  • Question Question
Microsoft 365 Erreur UBound
Réponses
4
Affichages
144
Réponses
3
Affichages
503
Réponses
5
Affichages
234
Réponses
4
Affichages
177
Réponses
8
Affichages
466
Retour