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

  • Initiateur de la discussion Initiateur de la discussion OOLIVE
  • 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 !

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
 
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.
 
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.
 
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
 
- 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
10
Affichages
281
Réponses
4
Affichages
177
Réponses
3
Affichages
193
  • Question Question
Microsoft 365 Problème de date
Réponses
5
Affichages
162
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
479
Retour