1. Ce site utilise des "témoins de connexion" (cookies) conformes aux textes de l'Union Européenne. Continuer à naviguer sur nos pages vaut acceptation de notre règlement en la matière. En savoir plus.

XL 2007 Récupérer la valeur sélectionner d'un ListView dans un TextBox

Discussion dans 'Forum Excel' démarrée par Chri8Ed, 9 Février 2019.

  1. Chri8Ed

    Chri8Ed XLDnaute Occasionnel

    Inscrit depuis le :
    5 Septembre 2010
    Messages :
    436
    "J'aime" reçus :
    7
    Bonjour à tous

    J'ai un ListView qui me permet de transcrire dans une cellule la valeur sélectionnée
    Pour une autre utilisation de cet ListView, je souhaiterais récupérer cette valeur dans un TextBox au lieu de la transcrire dans une cellule

    J'ai essayé de remplacer
    ActiveCell = li par TextBox1.value = li

    Et pas mal d'autres choses ....
    Mais rien à faire

    Je viens donc chercher de l'aide

    Merci d'avance

    Code (Text):

    Private Sub UserForm_Initialize()
      Dim C As Range
          With Lv
            With .ColumnHeaders
                .Clear
                .Add , , "Boite", 120
                .Add , , "Type", 130
                .Add , , "", 50, lvwColumnRight
            End With
           End With
      For Each C In Feuil5.Range("A1", Feuil5.[A65000].End(xlUp)(1))
        Lv.ListItems.Add , , C
        Lv.ListItems(Lv.ListItems.Count).ForeColor = C.Interior.Color
        Lv.ListItems(Lv.ListItems.Count).ListSubItems.Add , , C(1, 2)
        Lv.ListItems(Lv.ListItems.Count).ListSubItems(1).ForeColor = C.Interior.Color
        Lv.ListItems(Lv.ListItems.Count).ListSubItems.Add , , Replace(Format(C(1, 3), "0.00"), ",", ".")
        Lv.ListItems(Lv.ListItems.Count).ListSubItems(2).ForeColor = C.Interior.Color
      Next
    End Sub



    ' ------ Tri lors de la sélection d'une colonne ----------

    Private Sub Lv_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
        Lv.Sorted = False
        Lv.SortKey = ColumnHeader.Index - 1
       
        If Lv.SortOrder = lvwAscending Then
            Lv.SortOrder = lvwDescending
            Else
            Lv.SortOrder = lvwAscending
        End If
       
        Lv.Sorted = True
    End Sub

    Private Sub Lv_ItemClick(ByVal li As MSComctlLib.ListItem)
      Dim t$, Col As Byte
     
      t = Left(li, 1)
        'Col = IIf(T = "B" Or T = "P" Or T = "V" Or T = "N" Or T = "H", 5, 3)
      Col = 4 '2 au lieu de 5 ou 3
       
      ActiveCell.Resize(1, 1).Interior.ColorIndex = xlNone  '.Resize(1, 1) au leiude .Resize(1, 5)
      If li = "" Then Unload Me: Exit Sub

      If Not Left(li, 1) = "C" Then ActiveCell.Resize(1, 1).Interior.Color = Lv.ListItems(li.Index).ForeColor
      '.Resize(1, 1) au lieu de .Resize(1, 2)
      ' Pas de mise en couleur si le code commence par la lettre C.
     
      ActiveCell = li 'Recopie du code
      'ActiveCell(1, 2) = Lv.ListItems(li.Index).ListSubItems(1) 'Recopie du libellé
      ActiveCell.Interior.Color = Lv.ListItems(li.Index).ForeColor '???
     
        If Left(li, 1) = "Z" Then
        ActiveCell(1, 1).Select
        Libellé.Show
        Unload Me
        Exit Sub
        End If
       
        If li = "Divers" Then
        ActiveCell(1, 1).Select
        ListView_Codes_Bte2.Show
        Unload Me
        Exit Sub
        End If
       
        If li = "Spécial" Then
        ActiveCell(1, 1).Select
        ListView_Codes_Bte3.Show
        Unload Me
        Exit Sub
        End If
       
        If li = "Saisie" Then
        ActiveCell(1, 1).Select
        Libellé.Show
        Unload Me
        Exit Sub
        End If
       
        If li = "Marg." Then
        ActiveCell(1, 1).Select
        Libellé_Margarine.Show
        Unload Me
        Exit Sub
        End If
       
     
      'ActiveCell(1, Col) = Lv.ListItems(li.Index).ListSubItems(2)
     
      'ActiveCell(1, 3) = Lv.ListItems(li.Index).ListSubItems(2) 'Ancien code
         
          If Not Lv.ListItems(li.Index).ListSubItems(2) = "" Then
            ActiveCell(1, Col).NumberFormat = "0.00"
            ActiveCell(1, Col) = (Lv.ListItems(li.Index).ListSubItems(2))
          End If
     
      ActiveCell(1, Col).Select
      Unload Me
    End Sub



    Private Sub UserForm_Activate()
    Me.Top = 46
    Me.Left = 514
    End Sub

     
     
  2. Chargement...

    Discussions similaires - Récupérer valeur sélectionner Forum Date
    Récupérer la valeur d'une cellule dans une formule Autres applications Mardi à 12:02
    Récuperer valeur entête colonne sous condition Forum Excel 30 Janvier 2019
    XL 2010 Récupérer valeur monétaire [RESOLU] Forum Excel 24 Janvier 2019
    recuperer une valeur dans une Label en fonction de plusieurs choix de combobox Forum Excel 24 Janvier 2019
    Comment récupérer les coordonnées d’une cellule d’une feuille dont la valeur est celle de la cellule Forum Excel 14 Janvier 2019

  3. BOISGONTIER

    BOISGONTIER XLDnaute Barbatruc

    Inscrit depuis le :
    28 Septembre 2007
    Messages :
    7093
    "J'aime" reçus :
    481
    Habite à:
    Montigny
    Page d'accueil :
    Utilise:
    Excel 2003 (PC)
    Bonjour;

    Exemple

    Code (Text):
    Private Sub ListView1_Click()
      Me.TextBox1 = ListView1.SelectedItem
      For k = 2 To NbCol
        Me("textbox" & k) = ListView1.SelectedItem.ListSubItems(k - 1).Text
      Next k
      Me.Enreg = ListView1.SelectedItem.ListSubItems(NbCol).Text
    End Sub
    Boisgontier
     

    Pièces jointes:

  4. Chri8Ed

    Chri8Ed XLDnaute Occasionnel

    Inscrit depuis le :
    5 Septembre 2010
    Messages :
    436
    "J'aime" reçus :
    7
    Bonjour et merci Boisgontier

    Ton exemple m'a ouvert l'esprit
    Du coup j'ai trouvé la réponse qui était très simple
    Il fallait mettre : TextBox1.Text = li

    A+
     

Partager cette page