Atteindre une cellule en cliquant dans une listbox
Fermé
frax09
Messages postés
3
Date d'inscription
dimanche 26 octobre 2014
Statut
Membre
Dernière intervention
13 novembre 2014
-
26 oct. 2014 à 06:21
frax09 Messages postés 3 Date d'inscription dimanche 26 octobre 2014 Statut Membre Dernière intervention 13 novembre 2014 - 8 nov. 2014 à 05:38
frax09 Messages postés 3 Date d'inscription dimanche 26 octobre 2014 Statut Membre Dernière intervention 13 novembre 2014 - 8 nov. 2014 à 05:38
A voir également:
- Atteindre une cellule en cliquant dans une listbox
- Aller à la ligne dans une cellule excel - Guide
- Excel cellule couleur si condition texte - Guide
- Verrouiller une cellule excel - Guide
- Faites en sorte que la cellule a1 affiche exactement ce qui est montré sur cette image. quel mot apparaît en b1 ? - Forum Excel
- Cliquez sur ce lien. en n'utilisant que le clavier, quel mot obtenez-vous ? ✓ - Forum souris / Touchpad
4 réponses
f894009
Messages postés
17221
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
4 janvier 2025
1 712
26 oct. 2014 à 07:39
26 oct. 2014 à 07:39
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
f894009
Messages postés
17221
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
4 janvier 2025
1 712
27 oct. 2014 à 08:50
27 oct. 2014 à 08:50
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
frax09
Messages postés
3
Date d'inscription
dimanche 26 octobre 2014
Statut
Membre
Dernière intervention
13 novembre 2014
27 oct. 2014 à 04:51
27 oct. 2014 à 04:51
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.
frax09
Messages postés
3
Date d'inscription
dimanche 26 octobre 2014
Statut
Membre
Dernière intervention
13 novembre 2014
8 nov. 2014 à 05:38
8 nov. 2014 à 05:38
Ok , ça marche, désolé pour la réponse tardive, j'avais pas trop le temps de m'en occuper.
Merci pour l'aide.
Merci pour l'aide.