ListView_DblClick : Identification/Surbrillance Ligne

Bonjour à toutes et à tous,

Pour une grosse base de données de type : Colonne A Pays / Colonne B Noms / Colonne C N° ...

J'ai crée un moteur de recherche par UserForm (les résultats apparaissent dans la ListView1), je voudrais double-cliquer sur une ligne et l'identifier dans mon classeur en la mettant en surbrillance (sachant que j'ai plusieurs feuilles [structurées similairement]).

Voici mon code :

Private Sub ListView1_DblClick()
'Aller à la feuille/ligne de la valeur recherchée

Dim Feuille As String
Dim Cellule As String

Feuille = UserForm1.ListView1.SelectedItem.ListSubItems(0) '0 pour identifier la colonne 1 (les valeurs de la colonne 1 indiquent le nom de la feuille)

Cellule = UserForm1.ListView1.SelectedItem.ListSubItems(3) '3 pour identifier la colonne 4 (les données de la colonne 4 indiquent la ligne de la valeur recherchée)

If Me.ListView1.ListItems.Count <> 0 Then

   Sheets(Feuille).Activate

   Sheets(Feuille).Range(Cellule).Activate

   ActiveCell.EntireRow.Activate

End If
End Sub

Le code parait simple et réaliste mais ne fonctionne pourtant pas ... Auriez-vous une aide à m'apporter ?

Je vous remercie d'avance pour le temps consacré !

Bonjour Univers.

Dans la colonne 4 tu as le numéro de ligne ?

Passe ta cellule en Long alors.

Ensuite tu peux tester :

If Me.ListView1.ListItems.Count > 0 Then
With Sheets(Feuille)
.Activate
.Rows(Cellule).Select
End With
End If

Bonjour thebenoit59,

Dans la colonne 4 j'ai des valeurs uniques permettant d'identifier la ligne.

J'ai l'erreur suivante :

" Erreur d'exécution "35600"

Index hors limites"

Peux-tu fournir ton fichier, sans données personnelles ?

Impossible d'importer ...

Comment ça impossible ?

Le fichier est trop lourd ? Le mettre sur un hébergeur type cijoint.

Des données confidentielles ? Les modifier.

Impossible, toutes importations sont bloquées depuis mon poste.

Voici mon code actuel :

Private Sub ListView1_DblClick()
'Aller à la feuille/ligne de la valeur recherchée

Dim Feuille As String
Dim Cellule As Long

Feuille = UserForm1.ListView1.SelectedItem.Text '0 pour la colonne 1 (les valeurs de la colonne 1 indiquent le nom de la feuille)

Cellule = UserForm1.ListView1.SelectedItem.ListSubItems(3) '3 pour la colonne 4 (les données de la colonne 4 indiquent la ligne de la valeur recherchée)

If Me.ListView1.ListItems.Count <> 0 Then
Sheets(Feuille).Activate
Sheets(Feuille).Range(Cellule).Activate
ActiveCell.EntireRow.Activate

End If
End Sub

L'erreur a maintenant évolué depuis que j'ai changé mon code :

Feuille = UserForm8.ListView5.SelectedItem.ListSubITems(0)

Par :

Feuille = UserForm8.ListView5.SelectedItem.Text

Fonctionnel jusqu'ici, le problème survient à la suite...

Maintenant il n'arrive pas à sélectionner le rang correspondant à Cellule

.Rows(Cellule).Select

...

L'erreur est la suivante : " '1004', erreur définie par l'application ou par l'objet "

Si quelqu'un peut m'éclairer

Pour les intéressé(es),

J'ai enfin réussi à trouver une solution : (ajout de la variable Ligne)

Private Sub ListView_DblClick()

Dim Feuille As String
Dim Cellule As Variant
Dim Ligne As Integer

Feuille = UserForm1.ListView1.SelectedItem.Text 'pour la colonne 1 (les valeurs de la colonne 1 indiquent le nom de la feuille)

Cellule = UserForm1.ListView1.SelectedItem.ListSubItems(4) ' pour la colonne 5 (les données de la colonne 5 indiquent la ligne de la valeur recherchée)

Ligne = 6 'les 5 premières lignes de mes feuilles sont vides, les données débutent en ligne 6

If Me.ListView1.ListItems.Count <> 0 Then

Sheets(Feuille).Activate

While Range("F" & Ligne) <> Cellule '"F" est la colonne disposant des données "Cellules"
Ligne = Ligne + 1

Wend
End If

If Range("F" & Ligne) = Cellule Then

Range("F" & Ligne).Activate

ActiveCell.EntireRow.Activate

Unload Me

End If
End Sub
Rechercher des sujets similaires à "listview dblclick identification surbrillance ligne"