Pb de données avec listbox
Bonsoir
Je bloque depuis plusieurs heures sur un probleme en VBA:
J'ai récupéré et modifié un code me permettant de rechercher sur une feuille excel, une cellule contenant un texte defini par l'utilisateur dans une inputbox. Le code me cherche la cellule concernée, récupère la ligne entière (de la colonne A à L) et m'indique dans une listbox le contenu de la ligne.
Ce code marche parfaitement sauf... qu'il m'indique seulement l'adresse de chaque cellule constituant ma ligne et non pas la valeur de chacune. J'ai beau creer de nouvelles variables (reclignval1) censées récupérer les valeurs, ça ne fonctionne pas. Pouvez vous m'aider?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| Sub RecherchePhrases()
'Programme de recherche de phrases suivant critere de saisie
Dim nom, c, msg, lign, reclign1, reclign2, reclign3, reclign4, reclign5, reclign6, reclign7, reclign8, reclign9, reclign10, reclign11, reclign12 as string
Dim reclignval1
Dim NombrePhrasesTrouvées As Integer
NombrePhrasesTrouvées = 0
'Affichage du inputbox pour saisie
nom = Trim(Application.InputBox("Entrez un critère", "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ée Base de données
Sheets("Base de Données").Activate
'Effectue la recherche dans la plage cellule
For Each c In Range("a5:l1000")
If c.Value Like "*" & nom & "*" Then
'Incremente le nombre de phrases trouvés
NombrePhrasesTrouvées = NombrePhrasesTrouvées + 1
'texte trouvé suivant la saisie
lign = c.Row
reclign1 = "a" & lign
reclignval1 = Range(reclign1).value
reclign2 = "b" & lign
reclign3 = "c" & lign
reclign4 = "d" & lign
reclign5 = "e" & lign
reclign6 = "f" & lign
reclign7 = "g" & lign
reclign8 = "h" & lign
reclign9 = "i" & lign
reclign10 = "j" & lign
reclign11 = "k" & lign
reclign12 = "l" & lign
'fait une liste des phrases correspondantes a la saisie dans
'le listbox
UserFormResultat.ListBoxResultatRecherche.AddItem reclignval1 & Chr(9) & reclign2 & Chr(9) & reclign3 _
& Chr(9) & reclign4 & Chr(9) & reclign5 & Chr(9) & reclign6
End If
Next
'Affiche le liste
If NombrePhrasesTrouvées > 0 Then
UserFormResultat.Caption = NombrePhrasesTrouvées & " phrase(s) trouvé(s)"
UserFormResultat.Show
Else
MsgBox "Aucun résultat !", vbInformation, "Resultat Recherche"
End If
End Sub |