• Initiateur de la discussion Initiateur de la discussion vincent.d6
  • 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 !

V

vincent.d6

Guest
Bonjour à tous,
Je suis débutant en VBA et je souhaite vous solliciter pour un petit probleme.
Dans un userform, j'ai créé une listview avec des checkbox. Je souhaite, pour chaque item coché, remplir un par un 4 textbox figurant dans mon userform.
Pour le 1er textbox, je n'ai pas de pb puisque j'utilise le code suivant :
If Item.Checked = true then
Me.textbox1.Value = Item.ListSubItem (1).text
else : Me.textbox1.Value = ""
end if
A partir de là, mon probleme est d'identifier chaque item coché pour remplir les textbox 2,3 et 4.
Merci beaucoup de votre aide🙂
 
Re : TextBox et listview

Bonjour

L'éditeur VBA associe a chaque CheckBox un numéro d'ordre.
Pour le connaître lorsque l'usf est affichée la touche F4 affiche les propriétés en se postionnant sur CheckBox on retrouve le nom du contrôle.
Autre solution un double click sur le CheckBox permet de créer la sub routine vide.

JP
 
Re : TextBox et listview

Bonjour,
Je n'ai pas bien saisi. Puisque lorsque je fais F4 sur le listview, ça m'indique en effet les propriétés du Listview mais pas celles des ItemCheck qui y sont associés. Je rappelle également que je passe par ceci pour déclarer la routine :
Private Sub ListView1_ItemCheck(ByVal item As MSComctlLib.ListItem)

à bientôt
 
Re : TextBox et listview

bonjour

je n'ai pas bien compris pourquoi tu utilises les checkbox.

si tu veux juste renvoyer les données sélectionnées de la listview vers les textbox, utilises plutot ListView1_ItemClick.

je t'ai fait un exemple dans ce sens.

les checkbox sont à utilisées lorsque tu veux faire du choix multiples (est ce le cas ? si oui, ou renvoie-t'on les données ?)


joyeux noel 🙂

salut
 

Pièces jointes

Re : TextBox et listview

Bonjour ,
Le code ci-dessus ne me rempli pas les textbox lorsque je coche les cases 🙁

J'ai mis un fichier joint reprennant l'exemple proposé par Hervé. Ce que je voudrais arriver à faire, c'est lorsque je clique sur la 1ère case à cocher, la textbox 1 indique la valeur de la 1ère colonne de la ligne cochée, puis la 2ème case à cocher donne la valeur de la 1ère colonne de la la 2ème ligne cochée etc...

En fait le souci que j'ai c'est exactement d'identifier les case à cocher pour les relier avec les textbox correspondante.
Le but de cette manoeuvre est de permettre à l'utilisateur de selectionner 4 choix possibles dans une liste comme dans une playlist en quelque sorte.

En attendant je vous souhaite tout ce qu'il y a de meilleur pour les fetes de fin d'année.
Et merci de votre aide.🙂
 
Re : TextBox et listview

Bonjour

Ci joint la macro
Code:
compteur = 1
For i = 1 To ListView1.ListItems.Count
    If ListView1.ListItems(i).Checked = True Then
        If compteur > 4 Then
            Call MsgBox("Vous avez coché trop de ligne", vbCritical, Application.Name)
            Exit Sub
        End If

         If compteur = 4 Then
            Me.TextBox4.Value = ListView1.ListItems(i).Text
            compteur = compteur + 1
            
        End If
        If compteur = 3 Then
            Me.TextBox3.Value = ListView1.ListItems(i).Text
            compteur = compteur + 1
            
        End If
        
        
        If compteur = 2 Then
            Me.TextBox2.Value = ListView1.ListItems(i).Text
            compteur = compteur + 1
           
        End If
    
       If compteur = 1 Then
            TextBox1.Value = ListView1.ListItems(i).Text
            compteur = compteur + 1
            
        End If

        
    End If
Next i

Bonne fêtes

JP
 
Dernière édition:
Re : TextBox et listview

C'est parfait comme macro🙂
Une autre petite question :
Dans cette macro, où peut-on indiquer les colonnes où se trouvent les valeurs à transmettre?
Par exemple si je veux prendre que l'information de la 2ème ou la 4 éme colonne de la ligne sélectionnée?
Merci de votre contribution.
 
Re : TextBox et listview

Désolé, en cherchant bien j'ai trouvé la solution. Il suffit d'ajouter ListSubItem.
Ex :
If compteur = 4 Then
Me.TextBox4.Value = ListView1.ListItems(i).ListSubItems(1).Text
compteur = compteur + 1

Joyeuses fêtes
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour