J'aurais dû mieux expliquer le problème. En fait, je développe un formulaire de recherche avec une listview. A partir de 3 critères de recherche, les réponses s'affichent dans une listview à partir du bouton "Rechercher". Je récupère les données externes d'un fichier d'une BD (liste des personnes). Voici le code complet de mon formulaire de recherche :
'Définition de la plage de recherche sur la feuille active
Dim C
Dim i As Integer
Dim numero_ligne
For Each C In Range([A2], [A65536].End(xlUp))
'Critères de recherche
If C.Offset(0, 8) Like "*" & Recherche_client.TXT_Nom.Text & "*" And C.Offset(0, 9) Like "*" & Recherche_client.TXT_Prénom.Text & "*" And C.Offset(0, 10) Like "*" & Recherche_client.TXT_DateN.Text & "*" Then
'On place l'adresse de la variable de ligne_rech
Dim ligne_rech
Dim cell_remplir
ligne_rech = C.Address
If ligne_rech <> "$A$1" And C <> "" Then
With Classeur.ActiveSheet
'On remplit la première colonne de la listview
Recherche_client.LIST_Clients.ListItems.Add , , C.Offset(0, 8)
'On remplit les colonnes de la listview en partant de la gauche
Set cell_remplir = Range(ligne_rech).Offset(0, 9)
Recherche_client.LIST_Clients.ListItems(LR).ListSubItems.Add , , cell_remplir
Set cell_remplir = Range(ligne_rech).Offset(0, 10)
Recherche_client.LIST_Clients.ListItems(LR).ListSubItems.Add , , cell_remplir
Set cell_remplir = Range(ligne_rech).Offset(0, 3)
Recherche_client.LIST_Clients.ListItems(LR).ListSubItems.Add , , cell_remplir
Set cell_remplir = Range(ligne_rech).Offset(0, 4) 'Colonne de l'heure RDV
'Ligne à remplir?
Recherche_client.LIST_Clients.ListItems(LR).ListSubItems.Add , , cell_remplir
Set cell_remplir = Range(ligne_rech).Offset(0, 6)
Recherche_client.LIST_Clients.ListItems(LR).ListSubItems.Add , , cell_remplir
Set cell_remplir = Range(ligne_rech).Offset(0, 0)
Recherche_client.LIST_Clients.ListItems(LR).ListSubItems.Add , , cell_remplir
Set cell_remplir = Range(ligne_rech).Offset(0, 1)
Recherche_client.LIST_Clients.ListItems(LR).ListSubItems.Add , , cell_remplir
Set cell_remplir = Range(ligne_rech).Offset(0, 5)
Recherche_client.LIST_Clients.ListItems(LR).ListSubItems.Add , , cell_remplir
Set cell_remplir = Range(ligne_rech).Offset(0, 7)
Recherche_client.LIST_Clients.ListItems(LR).ListSubItems.Add , , cell_remplir
End With
End If
'On ajoute 1 à LR pour la prochaine ligne de réponse (lign_rech)
LR = LR + 1
End If
Next C
La ligne à remplir est dans une boucle. J'ai essayé d'écrire R[ligne_rech]C[0], sans succès. Merci et désolé, Gaz.