Moteur de rechecrhe - VBA | Erreur - dépassement de capacité

Bonjour,

Je rencontre un soucis avec excel (VBA) et malgré quelques recherches, je n'ai pas trouvé de solutions. Ma problématique c'est que je cherche à créer un moteur de recherche sur Excel en utilisant du VBA, le but étant de fournir un résultat en provenance d'une base de données selon certains mots-clés enregistrés par un utilisateur. Mon problème c'est que l'outil fonctionne à demi-mot, càd que le résultat est fourni mais il y a une fenêtre m'indiquant "dépassement de capacité" qui pop up. J'ai lu sur le net que parfois, cette erreur provient des variables déclarées en As integer qu'il fallait changer en As long et j'ai tenté cette solution mais rien n'y fait. C'est pourquoi je me tourne vers vous humblement (je suis un parfait débutant en VBA).

NB : Je vous donne mon code pour mon fichier de base mais le fichier que je vous propose ici a été remanié (par soucis de confidentialité) et donc les données présentes sont un peu "bullshit".

Je vous remercie d'avance !

Sub rechercher()
Dim tab_mots() As String
Dim compteur As Byte
Dim ligne As Long: Dim ligne_ext As Long
Dim valider As Boolean
Dim name As String: Dim firstname  As String
Dim title As String: Dim education As String
Dim school As String: Dim pitch As String
Dim sector As String: Dim tools As String
Dim language As String: Dim phone As String
Dim mail As String: Dim lastupdate As String
Dim chaine As String

purger
tab_mots = Split(Range("B17").Value, "")

ligne = 21: ligne_ext = 21

While Sheets("DATABASE - DIGITAL").Cells(ligne, 2).Value <> ""
    valider = True

    name = Sheets("DATABASE - DIGITAL").Cells(ligne, 2).Value
    firstname = Sheets("DATABASE - DIGITAL").Cells(ligne, 3).Value
    title = Sheets("DATABASE - DIGITAL").Cells(ligne, 4).Value
    education = Sheets("DATABASE - DIGITAL").Cells(ligne, 5).Value
    school = Sheets("DATABASE - DIGITAL").Cells(ligne, 6).Value
    pitch = Sheets("DATABASE - DIGITAL").Cells(ligne, 7).Value
    sector = Sheets("DATABASE - DIGITAL").Cells(ligne, 8).Value
    tools = Sheets("DATABASE - DIGITAL").Cells(ligne, 9).Value
    language = Sheets("DATABASE - DIGITAL").Cells(ligne, 10).Value
    phone = Sheets("DATABASE - DIGITAL").Cells(ligne, 11).Value
    mail = Sheets("DATABASE - DIGITAL").Cells(ligne, 12).Value
    lastupdate = Sheets("DATABASE - DIGITAL").Cells(ligne, 13).Value

    chaine = name & "-" & firstname & "-" & title & "-" & education & "-" & school & "-" & pitch & "-" & sector & "-" & tools & "-" & language & "-" & phone & "-" & mail & "-" & lastupdate

    For compteur = 0 To UBound(tab_mots())
        If (Len(tab_mots(compteur)) > 3) Then
            If (InStr(1, sansAccent(chaine), sansAccent(tab_mots(compteur)), vbTextCompare) = 0) Then
                valider = False
                Exit For
            End If
        End If

    Next compteur

    If (valider = True) Then
        Cells(ligne_ext, 2).Value = name
        Cells(ligne_ext, 3).Value = firstname
        Cells(ligne_ext, 4).Value = title
        Cells(ligne_ext, 5).Value = education
        Cells(ligne_ext, 6).Value = school
        Cells(ligne_ext, 7).Value = pitch
        Cells(ligne_ext, 8).Value = sector
        Cells(ligne_ext, 9).Value = tools
        Cells(ligne_ext, 10).Value = language
        Cells(ligne_ext, 11).Value = phone
        Cells(ligne_ext, 12).Value = mail
        Cells(ligne_ext, 13).Value = lastupdate

        ligne_ext = ligne_ext + 1
    End If

    ligne = ligne + 1
Wend

Cells(1, 1).Select

End Sub
19test-1.xlsm (26.38 Ko)

Bonjour,

Déplacez toutes les macros du module de la feuille "Export" vers un module standard et ré-essayez.

Cdlt

Hello Arthuro,

Tout d'abord, merci pour la réactivité, c'est top !

Par contre, j'ai tenté de remettre les macro de la sheet dans un module, et ça m'affiche ça (le résultat m'est toujours fourni par contre même si la fenêtre de bug pop up toujours). Aussi j'ai testé le fichier que tu m'as renvoyer, le problème n'y est pas mais quand je tente de "performer" une recherche, ça me donne mon output tout en gardant les recherches précédentes, c'est normal ? L'idée c'est vraiment de ne faire sortir que les lignes concernées.

erreur 1 erreur 2

Bonjour,
Tu dois déclarer i et position en Long.
Cdlt.

Hello Jean-Eric,

Nickel ! Je n'ai plus de problème, j'ai déclaré les variables comme tu me l'as indiqué.

Un grand merci à vous !

Rechercher des sujets similaires à "moteur rechecrhe vba erreur depassement capacite"