Atteindre une cellule en cliquant dans une listbox
frax09
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
frax09 Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
frax09 Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
A l'aide de plusieurs autres site j'ai réussi à intégré une zone de recherche dans une feuille exel qui me renvoie les cellules concordante dans une listbox ; j'aimerais a présent pourvoir cliqué sur une de ces réponse afin d'atteindre la cellules correspondante mais je ne sais pas comment faire.
J'ai trouvé la formule suivant mais je ne sais pas ou l'intégrer ( et je ne la comprend pas tout a fait) :
Et voila mon code d'origine pour la recherche :
Merci d'avance et bonne journée
A l'aide de plusieurs autres site j'ai réussi à intégré une zone de recherche dans une feuille exel qui me renvoie les cellules concordante dans une listbox ; j'aimerais a présent pourvoir cliqué sur une de ces réponse afin d'atteindre la cellules correspondante mais je ne sais pas comment faire.
J'ai trouvé la formule suivant mais je ne sais pas ou l'intégrer ( et je ne la comprend pas tout a fait) :
With ListBox1
If .ListBox1 <> -1 Then Cells(.ListBox1 + 3, 2).Select
End With
Et voila mon code d'origine pour la recherche :
Option Compare Text
Private Sub TextBox1_Change()
Application.ScreenUpdating = False
Range("A2:A500").Interior.ColorIndex = 2
ListBox1.Clear
If TextBox1 <> "" Then
For ligne = 2 To 500
If Cells(ligne, 1) Like "*" & TextBox1 & "*" Then
Cells(ligne, 1).Interior.ColorIndex = 43
ListBox1.AddItem Cells(ligne, 1), (ActiveCell.Column = 1)
End If
Next
End If
End Sub
Merci d'avance et bonne journée
A voir également:
- Atteindre une cellule en cliquant dans une listbox
- Aller à la ligne dans une cellule excel - Guide
- Bloquer une cellule excel - Guide
- Excel cellule couleur si condition texte - Guide
- Excel remplir automatiquement une cellule en fonction d'une autre ✓ - Forum Excel
- Excel : Remplir une cellule en fonction d'une autre ✓ - Forum Excel
4 réponses
Bonjour,
pas tout a fait ca
'code pour selection une cellule fonction de l'index de la listbox
Dans votre cas ce code ne convient pas, car vous remplissez la listbox1 avec des cellules qui ne sont pas forcement consecutives donc la valeur de listindex n'est pas appropriee.
un solution possible:
listbox1 a 2 colonnes, colonnes 1 valeurs des cellules correspondant a votre "filtre" et colonne 2 l'adresse des cellules prises en compte
sur clic d'une "ligne" de la listbox1, selectionner la cellule a l'adresse colonne 2 de cette "ligne" en utilisant listindex
info: listbox 10 colonnes maxi de 0 a 9
pas tout a fait ca
With ListBox1
If .ListBox1 <> -1 Then Cells(.ListBox1 + 3, 2).Select
End With
'code pour selection une cellule fonction de l'index de la listbox
Private Sub ListBox1_Click()
If ListBox1.ListIndex <> -1 Then
Cells(ListBox1.ListIndex + 3, 1).Select
End If
End Sub
Dans votre cas ce code ne convient pas, car vous remplissez la listbox1 avec des cellules qui ne sont pas forcement consecutives donc la valeur de listindex n'est pas appropriee.
un solution possible:
listbox1 a 2 colonnes, colonnes 1 valeurs des cellules correspondant a votre "filtre" et colonne 2 l'adresse des cellules prises en compte
sur clic d'une "ligne" de la listbox1, selectionner la cellule a l'adresse colonne 2 de cette "ligne" en utilisant listindex
info: listbox 10 colonnes maxi de 0 a 9
Bonjour,
une facon de faire:
une facon de faire:
Private Sub TextBox1_Change()
ListBox1.Clear
ListBox1.ColumnCount = 2
'largeur colonne(s), mettre 0 pour cacher la colonne
ListBox1.ColumnWidths = "40,60"
'mise en memoire plage de cellule a tester pour recherche
Set c = Range("a:a").Find(Me.TextBox1.Value, LookIn:=xlValues)
'au moins une infos dans la plage
If Not c Is Nothing Then
premier = c.Address
i = 0
'remplissage listbox
Do
ListBox1.AddItem
ListBox1.List(i, 0) = c.Value
ListBox1.List(i, 1) = c.Address
'recherche suivante
Set c = Range("a:a").FindNext(c)
i = i + 1
Loop While Not c Is Nothing And c.Address <> premier
End If
End Sub
Ok,
j'ai fait ça dans le but d'ajouter une colone a ma listbox mais il m'ajoute une ligne de plus par réponse,
de plus je n'ai pas trouver la formule permettant de récupérer l'adresse de la cellule correspondant à la réponse de ma recherche. (c'est pour ça que je n'ai mis que l'affichage de ma 2eme colonne a titre d'exemple)
sais tu ou je pourrai trouver une formule pour qu'un clic me renvoie a l'adresse sélectionné.
Désolé pour tout ces question mais j'ai beau faire des recherche, étant un programmeur du dimanche, les réponses que je trouve sont souvent trop complexes
Merci encore.
j'ai fait ça dans le but d'ajouter une colone a ma listbox mais il m'ajoute une ligne de plus par réponse,
Private Sub TextBox1_Change()
Application.ScreenUpdating = False
Range("A2:A500").Interior.ColorIndex = 2
ListBox1.Clear
ListBox1.ColumnCount = 2
If TextBox1 <> "" Then
For ligne = 2 To 500
If Cells(ligne, 1) Like "*" & TextBox1 & "*" Then
Cells(ligne, 1).Interior.ColorIndex = 43
ListBox1.AddItem Cells(ligne, 1)
ListBox1.AddItem Cells(ligne, 2)
End If
Next
End If
End Sub
de plus je n'ai pas trouver la formule permettant de récupérer l'adresse de la cellule correspondant à la réponse de ma recherche. (c'est pour ça que je n'ai mis que l'affichage de ma 2eme colonne a titre d'exemple)
sais tu ou je pourrai trouver une formule pour qu'un clic me renvoie a l'adresse sélectionné.
Désolé pour tout ces question mais j'ai beau faire des recherche, étant un programmeur du dimanche, les réponses que je trouve sont souvent trop complexes
Merci encore.