Probleme double clic

Alainhwc

XLDnaute Nouveau
Bonjour à tous . J'ai besoin d'un petit coup de main

Je suis un tout nouveau sur les macro VBA avant plutôt expert en macro excel 4 (j'ai 62ans)
je suis en retrait et j'essaie de me mettre au macro VBA

J'ai trouvé sur le web un fichier de recherche de nom avec listbox, le l'ai modifié a ma convenance mais je bloque su r la partie double clic sur la listbox pour m'affiche la ligne sur la feuille de donnée
Ca m'indique une Erreur compilation: Membre de méthode ou donnée introuvable

"PARTIE QUI NE FONCTIONNE PAS "LE DOUBLE CLIC ET LA SELECTION DE LA FEUILLE"

'ICI C'est la sélection au Double Click & Sortie du UserForm

Private Sub ListBox1_dblClick(ByVal Cancel As MSForms.ReturnBoolean)

With ListBox1
Application.Goto Sheets(.Text).Range(.List(.ListIndex, 10))
End With
Unload Me

End Sub


MERCI D'AVANCE
 

Pièces jointes

  • RechercheBaseDonnée_v1.xls
    61.5 KB · Affichages: 31
Dernière modification par un modérateur:

youky(BJ)

XLDnaute Barbatruc
Re : Probleme double clic

Bonjour Alain,
Bienvenu au forum et dans la prise de tête VBA.
C'est pas bon de renommer listview1 en Listbox1
C'est pas une listbox que tu as.......
Tu colles ce code en dessous et rectifie les End Sub

Code:
Private Sub ListBox1_DblClick()
  With ListBox1.SelectedItem
   'Sheets(.SubItems(1)).Select     'selection onglet <> si besoin
    Range(.SubItems(9)).Select
  End With
Unload Me
End Sub

et efface ce que tu as mis a partir de ta ligne rouge
Voici le fichier modifié
Bruno
 

Pièces jointes

  • RechercheBaseDonnée_v2.xlsm
    30.8 KB · Affichages: 43

Si...

XLDnaute Barbatruc
Re : Probleme double clic

salut

pour la recherche d'une partie du nom présent ou pas dans plusieurs onglets, tu peux essayer
VB:
Private Sub CommandButton1_Click()
  Dim F As Worksheet
  Dim Plage As Range, C As Range
  Dim T As String
  Dim x As Byte, k As Long, m As Long, n As Long, j As Byte
  Dim Tablo()
  Lv.ListItems.Clear
  If TextBox1 = "" Then Exit Sub
  n = 1
  For Each F In Worksheets
    Set Plage = F.Range(F.Cells(8, 1), F.Cells(F.Rows.Count, F.Columns.Count)).SpecialCells(2)
    For Each C In Plage
      If C Like ("*" & TextBox1 & "*") Then
        ReDim Preserve Tablo(0 To 9, 0 To k)
        Tablo(0, k) = F.Name
        For x = 1 To 8: Tablo(x, k) = F.Cells(C.Row, x): Next
        Tablo(9, k) = C.Address
        k = k + 1
      End If
    Next
  Next
  If k = 0 Then
    MsgBox "Le Texte n'a pas été trouvé" & vbLf & "Faites un essai avec une autre partie du nom", 16, ""
    Exit Sub
  End If
  For k = 0 To UBound(Tablo, 2)
    Lv.ListItems.Add , , Tablo(0, k)
    For j = 1 To 9
      Lv.ListItems(n).ListSubItems.Add Text:=Tablo(j, m)
    Next
    n = n + 1
  Next
 End Sub
Private Sub Lv_dblClick()
  Dim i As Long
  i = Lv.SelectedItem.Index
  Application.Goto Sheets(Lv.ListItems(i).Text).Range(Lv.ListItems(i).ListSubItems(9))
  Unload Me
End Sub

nota : j'ai renommé le contrôle Lv (plus court pour se dispenser des With... End With); évite de lancer la recherche avec une seule lettre.

simplification de la seconde macro (pour une sélection unique)
 
Dernière édition:

Discussions similaires

Réponses
18
Affichages
756
Réponses
5
Affichages
452

Statistiques des forums

Discussions
312 492
Messages
2 088 936
Membres
103 987
dernier inscrit
Doctami