Recopie de données à partir d'une Listbox

  • Initiateur de la discussion Initiateur de la discussion Chri8Ed
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Chri8Ed

XLDnaute Occasionnel
Bonjour à tous

J’utilise une ListBox pour faire des recherches dans mon fichier et ensuite pour me permettre de me placer directement sur la ligne correspondant à ma recherche.
Je souhaiterais faire une variante de cette ListBox, toujours pour faire les mêmes recherches, mais pour cette fois avoir la possibilité de copier la cellule correspondant à ma recherche dans la cellule active.

Exemple, si je fais une recherche sur le mot « Clavier » avec ma macro actuelle, je vais donc être dirigé sur la ligne 14
Je souhaiterais, si je suis par exemple sur la cellule « M24 », avec donc une variante de ma macro actuelle, recopier le libellé sélectionné dans la Listbox qui contient le mot clavier directement dans cette cellule M24.

Il ne s’agit plus de placement, mais de copie de données, et je n’arrive pas à trouver la modification à apporter
Merci d'avance pour une aide

A+
 

Pièces jointes

Re : Recopie de données à partir d'une Listbox

Bonjour,

Peut être une piste avec cette procédure modifiée (voir les ///)
Code:
Private Sub ListBox1_Click()
'/// ajout pmo
Dim OldR As Range
Set OldR = ActiveCell
'///


  Dim X As Range
  Set X = Columns(2).Find(ListBox1.Value, , xlValues, xlPart, , , False)
  
  If Not X Is Nothing Then
    Application.GoTo Cells(X.Row, 2), Scroll:=True
  End If
  Application.GoTo Cells(Me.ListBox1.Column(6), 11)
  'Voir explication dans le UserForm 9b

''  Range(ActiveCell.Offset(0, 0), ActiveCell.Offset(0, 5)).Select
  
Range(ActiveCell.Offset(0, 2), ActiveCell.Offset(0, 2)).Copy Destination:=OldR  '///ajout pmo
End Sub
 
Re : Recopie de données à partir d'une Listbox

Bonjour

Merci pour ton aide.

Au 1er essai, cela semble assez bien fonctionner
Mais curieusement, si il y a plusieurs articles correspondant à la recherche
Il y a un comportement très étrange si on me sélectionne pas le 1er.

Le mieux est de faire un essai, car c’est très difficile à expliquer
Avec le fichier joint
Faire recherche « Ecran »
Cliquer sur le 2ème « Ecran 24'' »
Ce n’est pas le bon qui se copie
Et le bon se copie en K7 !

A+
 

Pièces jointes

Re : Recopie de données à partir d'une Listbox

Bonjour

Je vous en fait qu'une seule ligne de code suffit !
Merci cela fonctionne cette fois très bien
Je te remercie bien pour ton aide

Juste encore une petite question
J'ai rajouté quelles lignes pour copier 2 cellules au lieu d'une
Est-ce que ces 4 lignes peuvent s'inscrire plus simplement (en 2 lignes voir 1 seule) ?

Code:
Cells(ActiveCell.Row, 13).Select
Cells(Me.ListBox1.Column(6), 13).Copy Destination:=ActiveCell
Cells(ActiveCell.Row, 12).Select
Cells(Me.ListBox1.Column(6), 12).Copy Destination:=ActiveCell

A+
 
Re : Recopie de données à partir d'une Listbox

J'ai rajouté quelles lignes pour copier 2 cellules au lieu d'une
Est-ce que ces 4 lignes peuvent s'inscrire plus simplement (en 2 lignes voir 1 seule) ?

OUI mais il faut que la cellule active soit en colonne "L"
Code:
Private Sub ListBox1_Click()
Dim i&
i& = Me.ListBox1.Column(6)
Range(Cells(i&, 12), Cells(i&, 13)).Copy Destination:=ActiveCell
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
416
Réponses
19
Affichages
618
Retour