Forum Clubic

Besoin d´aide VBA

Bonjour, ´
je suis un débutant en VBA
j´ ai réalisé une macro qui permet de rechercher un texte dans une colonne cela fonctionne
Mais étant donné que mon tableau a au moins 1000 lignes
lorsque quelqu´un tape les premières lettres d´un mot la message box
ne peut pas afficher tout les résultats
comment faire???pour voir tous les résultats

[code]Sub RecherchePhrases()
'Programme de recherche de phrases suivant critere de saisie

Dim nom, c, msg
Dim recherche As String
Dim NombrePhrasesTrouvées As Integer
NombrePhrasesTrouvées = 0

'Affichage du inputbox pour saisie
nom = Trim(Application.InputBox(“Taper un nom”, “Recherche”))
'N’execute pas la rechereche si on clique sur Annuler ou si aucune saisie
If nom = False Or nom = “” Then
Exit Sub
End If
'Active la feuille nommé Tabelle1
Sheets(“Tabelle1”).Activate

'Effectue la recherche dans la plage cellule nommé tableau
For Each c In range(“tableau”)
If c.Value Like “" & nom & "” Then
'Incremente le nombre de phrases trouvés
NombrePhrasesTrouvées = NombrePhrasesTrouvées + 1
'texte trouvé suivant la saisie
recherche = c.Value
'fait une liste des phrases correspondantes a la saisie
msg = msg & recherche & vbTab & vbCrLf
End If
Next
'Affiche tout le resultat
MsgBox NombrePhrasesTrouvées & " phrase(s) trouvé(s) " _
& Chr(10) & Chr(10) & msg, vbInformation, "Resultat de " & “[” & nom & “]”

End Sub

Je connais rien en VBA, mais yaurais pas moyen de mettre une barre de défilement ou de faire une pause a chaque 10 résultat?

Tu veux arriver à quel résultat exactement ?
Les messagebox, c’est très bien comme message d’alerte, ou pour le debug, et dans ce cas, on a rarement des dizaines de lignes à afficher.
Mais si tu veux afficher quelque chose à usage de l’utilisateur, tourne-toi plutôt vers un userform, avec un champ texte pour le criyère de filtrage, et un champ texte multiligne (ou une liste déroulante) pour le résultat.

Tu as également regardé du côté du l’affichage direct de tes lignes de tableau à l’aide d’un filtre automatique ?