Userform - Recherche et copie des valeurs de la listbox dans cellule selectionnée

OOLIVE

XLDnaute Occasionnel
Bonjour à tous,

Je suis actuellement en train de développer une petite macro permettant, dans un userform, de faire une recherche par nom et d'afficher les résultats de la recherche dans une listbox.
Cette fonction se fait via le CommandButton1 et fonctionne parfaitement.

J'aimerais maintenant que, une fois les infos présentées dans la listbox, je puisse sélectionner la ligne que je veux et que celles ci soient copiés dans ma feuille excel et là, gros blanc...

Voici le code pour la recherche des infos et présentation dans Listbox.
HTML:
Private Sub CommandButton1_Click()
' Recherche
Dim Cel2 As Range
Dim Colonne As Integer, Indice As Integer
Dim Ligne As Long
Dim WsSource As Worksheet, WsCible As Worksheet

    'Récupération des informations
   
  Workbooks("SOURCE").Activate
  
       Set WsSource = ActiveSheet

        
 If Me.TextBox2 = "" Then
    MsgBox "Veuillez indiquer le nom à rechercher !"
    Exit Sub
  End If
  
  
    
  With WsSource
   Set Cel2 = .Columns(3).Find(what:=Me.TextBox2, LookIn:=xlValues, lookat:=xlWhole)
    If Not Cel2 Is Nothing Then
      Colonne = Cel2.Column
    Else
      MsgBox "Le collaborateur " & TextBox1 & " - " & TextBox2 & " n'a pas été trouvé dans la liste."
      
      Exit Sub
    End If
    For Ligne = 1 To 20000
      If .Cells(Ligne, Colonne) = Me.TextBox2 Then
  
        Me.ListBox1.AddItem .Range("C" & Ligne)
        Me.ListBox1.List(Indice, 1) = .Range("D" & Ligne)
        Indice = Indice + 1
      End If
    Next Ligne
  End With
  
  
End Sub



et le code pour la fonction copier dans la cellule sélectionnée mais la méthode n'est pas prise en charge.
HTML:
Private Sub CommandButton2_Click()
Dim i As Integer

 For i = 0 To Me.ListBox1.ListCount - 1
If Me.ListBox1.Selected(i) = True Then

Selection.Offset(0, 2) = ListBox1.List(i, 1)
    '<l'item a été sélectionné>
  End If
  Next

Unload Me
End Sub

Si quelqu'un pouvait me filer un coup de pouce... Je craque là ^^

Merci à tous.

Olivier
 

thebenoit59

XLDnaute Accro
Re : Userform - Recherche et copie des valeurs de la listbox dans cellule selectionné

Bonjour Olivier.
Je pense qu'il faut modifier le :
Code:
 Selection.Offset(0,2)

Il faudrait que tu mettes un Range ou un Cells.Value = ListBox1.List(i, 1)

Après je ne sais pas où tu veux insérer exactement ta valeur.
 

OOLIVE

XLDnaute Occasionnel
Re : Userform - Recherche et copie des valeurs de la listbox dans cellule selectionné

Bonjour thebenoit,

Le problème est que la cellule de destination n'est pas fixe.. C'est pour cela que j'avais mis Selection.offset..

Mais je pense que tu m'as donné un bon de la solution..

Si je définis la cellule de destination comme une variable...

Et que j'introduis un code du style

x = ListBox1.List(i, 1)

Ca pourrait potentiellement le faire..

Je vais essayer !!

Merci.
 

OOLIVE

XLDnaute Occasionnel
Re : Userform - Recherche et copie des valeurs de la listbox dans cellule selectionné

Problème réglé !

HTML:
Private Sub CommandButton2_Click()
Dim i As Integer
Dim x As Range

 Set x = ActiveCell.Offset(0, 2)

 For i = 0 To Me.ListBox1.ListCount - 1
If Me.ListBox1.Selected(i) = True Then

x = ListBox1.List(i, 0)
    '<l'item a été sélectionné>
  End If
  Next

Unload Me
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
315 094
Messages
2 116 143
Membres
112 669
dernier inscrit
Guigui2502