Dans un ListBox, ne garder que les lignes sélectionnées

J'ai un problème qui est un peu de la famille de celui ci --> https://forum.excel-pratique.com/viewtopic.php?f=2&t=105598 (Edit Dan)

Quand je clique sur le bouton afficher dans mon formulaire,

j'affiche dans ma listbox le résultat d'un filtre (fait par filtre avance) (exemple en pièce jointe)

Ce que je souhaite faire est: si je double clique sur une ligne de llistbox me positionner sur la même ligne dans la feuille où il y a mon tableau original pour que je puisse la modifier si je veux.

Merci de m'aider svp et me dire si c'est faisable je suis bloqué et c'est la dernière phase de mon projet.

Private Sub Afficher_Click()

On Error GoTo gestionerreur: ' on déclanche la gestion des erreurs
Feuil2.Range("P9").Value = ComboBox1.Value ' On affecte le contenu de la combobox dans la zone de critère
Feuil2.Range("P10").Value = TextBox1.Value  ' On affecte le contenu de la listbox dans la zone de critère
Call filtrer 'Lance la macro Filtrer
 ' on charge la listbox avec le résultat du filtre avancé
ListBox1.RowSource = "DEPLOIEMENT!" & Feuil2.Range("R10").CurrentRegion.Offset(1, 0).Address
 txtTotal.Value = Me.ListBox1.ListCount - 1
Exit Sub ' si aucun resultat trouvé, alors on sort et on affiche un msg.
gestionerreur:
 MsgBox "Une erreur est intervenue ou aucune information trouvée sur ce critère: " & TextBox1.Text

  End Sub

Bonjour

Votre fichier en retour.

J'ai désactivé la ligne Unload USF pour que vous voyez le résultat. Si vous la laissez, vous pouvez enlever ces trois lignes à la fin du code

With Feuil1
    dlg = .Range("A" & .Rows.Count).End(xlUp).Row
    ListBox1.List = .Range("A1:E" & dlg).Value
End With

Et la déclaration de variable, dim dlg as integer au début du code.

Si ok, et terminé, merci de cloturer le fil lors de votre réponse en cliquant sur le petit v en haut à droite

Cordialement

Classeur1.xlsm

Bonjour

Tu devrais joindre ton fichier complet et non pas une image dont on ne peut rien faire;

Bye !

sans objet

Bonjour,

Je vous remercie énormément de m'avoir répondu.

ci-joint mon fichier.

J'aimerai bien pouvoir me positionner sur la ligne selectionné de la listbox dans le tableau original.

cdt.

Bonjour,

ci-jointe proposition

24projet1.xlsm (139.46 Ko)

thev,

Ta proposition marche très bien et je t'en remercie.

Une petite précision, je ne sais pas prq sur la listbox les entêtes ne s' affichent pas alors que j'ai mis ("R9") = le début de mon tableau filitré

Feuil2.Range("R9").CurrentRegion.Offset(1)
        ListBox1.RowSource = .Resize(.Rows.Count - 1).Address
        

Re,

C'est bon j'ai mis ("R8) et maintenant mes titres s'affiches.

Par contre est ce qu'on peut les colorer ou les mettre en gras ou souligner pour qu'on les distingues des résultats ?

Mille merci

Une petite précision, je ne sais pas prq sur la listbox les entêtes ne s' affichent pas alors que j'ai mis ("R9") = le début de mon tableau filitré

Il faut laisser "R10" et positionner la propriété ColumnsHeads de la ListBox à True.

23projet2.xlsm (139.44 Ko)

Par contre est ce qu'on peut les colorer ou les mettre en gras ou souligner pour qu'on les distingues des résultats ?

Je ne connais pas de réglage séparé pour les titres. La seule solution est de ne pas afficher les titres via la ListBox mais via un contrôle "Label" placé juste au-dessus de la ListBox que tu pourras régler à ta convenance.

Une petite précision, je ne sais pas prq sur la listbox les entêtes ne s' affichent pas alors que j'ai mis ("R9") = le début de mon tableau filitré

Il faut laisser "R10" et positionner la propriété ColumnsHeads de la ListBox à True.

Parfait!

Ca marche à merveille en plus les entêtes sont encadrés.

Merci bcp

Rechercher des sujets similaires à "listbox garder que lignes selectionnees"