Userform et message d'erreur

Bonjour à tous !

Tout d'abord merci encore pour l'aide que j'ai eu sur ce forum pour la réalisation de mon projet !

Je bloque sur un petit détail avant de le tester en production...

Mon userform va permettre de chercher selon deux critères des lignes dans ma BDD et va m'afficher les résultats dans des textbox prévus.

Quand on active la recherche j'avais un "On Error GoTo" qui me mettais "une erreur est survenue ou aucune analyse trouvée pour..." quand il ne trouve pas de réponse.

Malheureusement :

  1. il ne me met pas le message quand il ne trouve pas d'occurrence dans la table (exemple critère: code Molis Recherche :T21)
  2. il peut trouver deux résultats c'est ok mais quand je cherche un critère avec 22 occurrences il me met le message... (exemple critère: code Molis Recherche :C83 ok mais la même avec DIVERS Message d'erreur)

Je voudrais savoir si on pouvait m'aider à comprendre comment ça fonctionne pour essayer de trouver une solution

Merci d'avance

Irène

40v8.xlsm (192.13 Ko)

Bonjour NoursChoup

En utilisant le caractère générique "*" et avec une petite correction du code

Private Sub CommandButton1_Click()
  On Error GoTo GestionErreur: 'On déclenche la gestion des erreurs

  With ThisWorkbook.Sheets("BDD")
    .Range("R2").Value = ComboBox1.Value  'on affecte le contenu de la ComboBox dans la zone de critère
    .Range("R3").Value = "*" & TextBox1.Value & "*"  'On affecte le contenu da la ListBox dans la zone de critère
    Call Filtrer 'Lance la macro du même nom
    ' On précise sur quelle ligne on se trouve
    ' Pour les boutons Suivant et Précédent
    LigSel = 3
    'On charge la ListBox avec le résultat du filtre avancé.
    RAnalyse.Value = .Range("T3").Value
    RSynonyme.Value = .Range("U3").Value
    RPrecision.Value = .Range("V3").Value
    RMolis.Value = .Range("W3").Value
    RNature.Value = .Range("X3").Value
    RTempérature = .Range("Z3").Value
    RVolume = .Range("Y3").Value
    RLieu = .Range("AC3").Value
    RTransporteur = .Range("AA3").Value
    RCodeFeuille = .Range("AB3").Value
    RTel = .Range("AD3").Value
    RFax = .Range("AE3").Value
    RRemarque = .Range("AG3").Value
    RLien = .Range("AH3").Value
    RDoc = .Range("AF3").Value
    txtTotal.Value = .Range("R7").Value
    TextBox2.Value = .Range("AK3").Value
     On Error GoTo 0
    'Copie du lien ou des liens en colonne AH
    For C = 3 To .Range("AF1")
      Dim sTmp As String
      sTmp = .Range("AH" & C).Value
      If sTmp <> "" Then
         Dièse = Asc(Right(.Range("AH" & C), 5))
        If Dièse = 35 Then Lig = CInt(Right(.Range("AH" & C), 4)): .Range("M" & Lig).Copy .Range("AH" & C)
      End If
    Next C
  End With
  Exit Sub 'Si aucune analyse trouvée, alors on sort de la procédure et on affiche un message.

GestionErreur:
  MsgBox "Une erreur est intervenue ou aucune analyse trouvée sur ce critère " & TextBox1.Text
End Sub

A+

Merci BrunoM45 pour tes réponses : il va bien chercher dans toute les lignes de la cellule et ne me met plus de messages d'erreur !

Je lui ai codé que si la value de ma textbox2 =O alors tu m'affiche un message attention aucune analyse trouvée ^^

image
Rechercher des sujets similaires à "userform message erreur"