1Alexiiis
Messages postés48Date d'inscriptionvendredi 14 juin 2013StatutMembreDernière intervention14 décembre 2020
-
20 nov. 2018 à 19:11
1Alexiiis
Messages postés48Date d'inscriptionvendredi 14 juin 2013StatutMembreDernière intervention14 décembre 2020
-
23 nov. 2018 à 17:09
Bonjour à tous !
Dans VBA Excel, j'ai créé ce formulaire avec une Listbox qui récupére les données d'un tableau Excel :
(Evidemment, les données sont inventées, il ne s'agit en aucun cas de réelles informations)
Lorsque je sélectionne un choix de la ComboBox (ex. : "Accepté(e)") et que je clique sur le bouton valider, j'aimerais que ce choix s'ajoute dans la colonne G ("Commentaire") du tableau Excel + qu'il soit immédiatement affiché dans la ListBox (sans devoir faire fermer et réouvrir le formulaire) + passer à l'enregistrement suivant (de la ListBox)
Pour passer à l'enregistrement suivant de la ListBox, j'utilise ce code (qui fonctionne très bien) :
If Me.lstRESULTATS.ListIndex = Me.lstRESULTATS.ListCount - 1 Then
MsgBox "Vous avez atteint le dernier enregistrement !", vbInformation, "Dernier enregistrement atteint"
Else: Me.lstRESULTATS.ListIndex = Me.lstRESULTATS.ListIndex + 1
End If
--> J'ai besoin de votre aide car je n'arrive pas à trouver comment faire pour que : 1. Ce choix s'ajoute dans la colonne G ("Commentaire") du tableau Excel
2. Ce choix soit immédiatement affiché dans la ListBox (sans devoir faire fermer et réouvrir le UsF)
(Attention, il peut y avoir aussi bien 4 lignes un jour, puis 80 le lendemain, puis 26 dans 3 jours, etc...)
cs_Le Pivert
Messages postés7899Date d'inscriptionjeudi 13 septembre 2007StatutContributeurDernière intervention21 septembre 2023137 21 nov. 2018 à 17:15
Bonjour,
a adapter :
Dim ligne As Integer
Private Sub CommandButton1_Click()
ListView1.ListItems(ligne).ListSubItems(4).Text = ComboBox2.Value 'a adapter colonne(4)
Sheets("Année").Cells(ligne, 4) = ComboBox2.Value 'a adapter nom de la feuille et colonne (4)
End Sub
Private Sub ListView1_Click()
ligne = ListView1.SelectedItem.Index
End Sub
1Alexiiis
Messages postés48Date d'inscriptionvendredi 14 juin 2013StatutMembreDernière intervention14 décembre 2020 22 nov. 2018 à 18:32
Bonjour,
.ListItems
= "Erreur de compilation. Membre de méthode ou de données introuvable"
Je peux uniquement choisir
-
lstCOMMENTAIRE.ListCount
-
lstCOMMENTAIRE.ListIndex
-
lstCOMMENTAIRE.ListStyle
.ListSubItems
et
.SelectedItem.Index
ne fonctionnent pas non plus
Je ne sais pas si ça change quelque chose dans le code : c'est une ListBox que j'ai (et non une ListView)
Merci d'avance
cs_Le Pivert
Messages postés7899Date d'inscriptionjeudi 13 septembre 2007StatutContributeurDernière intervention21 septembre 2023137 22 nov. 2018 à 18:41
autant pour moi, tu trouveras ton bonheur dans le paragraphe: Listbox multicolonne
cs_Le Pivert
Messages postés7899Date d'inscriptionjeudi 13 septembre 2007StatutContributeurDernière intervention21 septembre 2023137 23 nov. 2018 à 08:13
comme ceci:
Option Explicit
Dim NumLigne As Integer
Private Sub cmdValider_Click()
'1. Ajouter le commentaire dans le colonne G
Sheets("Fichier Aide").Cells(NumLigne + 2, 7) = cboCOMMENTAIRE.Value '
'2. Afficher immédiatement dans la ListBox (sans devoir fermer et réouvrir le UsF)
'auto
'3. Passer à l'enregistrement suivant
If Me.lstRESULTATS.ListIndex = Me.lstRESULTATS.ListCount - 1 Then
MsgBox "Vous avez atteint le dernier enregistrement !", vbInformation, "Dernier enregistrement atteint"
Else: Me.lstRESULTATS.ListIndex = Me.lstRESULTATS.ListIndex + 1
End If
End Sub
Private Sub lstRESULTATS_Click()
NumLigne = Me.lstRESULTATS.ListIndex 'Trouver le n° de la ligne sélectionné dans la ListBox
Me.txtCODE.Value = Me.lstRESULTATS.Column(0, NumLigne)
Me.txtNOM.Value = Me.lstRESULTATS.Column(1, NumLigne)
Me.txtPRENOM.Value = Me.lstRESULTATS.Column(2, NumLigne)
Me.txtADRESSE.Value = Me.lstRESULTATS.Column(3, NumLigne)
Me.txtCP.Value = Me.lstRESULTATS.Column(4, NumLigne)
Me.txtVILLE.Value = Me.lstRESULTATS.Column(5, NumLigne)
Me.cboCOMMENTAIRE.Value = Me.lstRESULTATS.Column(6, NumLigne)
End Sub
Private Sub cboCOMMENTAIRE_Enter()
cboCOMMENTAIRE.List = Array("Accepté(e)", "En attente", "Refusé(e)")
End Sub
Voilà
@+ Le Pivert
1Alexiiis
Messages postés48Date d'inscriptionvendredi 14 juin 2013StatutMembreDernière intervention14 décembre 2020 23 nov. 2018 à 17:09
Parfait ! Je dirais même "Parfaitement, Parfait !" :)
22 nov. 2018 à 18:32
= "Erreur de compilation. Membre de méthode ou de données introuvable"
Je peux uniquement choisir
-
-
-
et ne fonctionnent pas non plus
Je ne sais pas si ça change quelque chose dans le code : c'est une ListBox que j'ai (et non une ListView)
Merci d'avance
22 nov. 2018 à 18:41
https://silkyroad.developpez.com/VBA/ControlesUserForm/#LII-G
Le code qui concerne la feuille ne change pas,c'est bon
Il faut juste adapter celui de la listBox
Si tu as encore des difficultés je verrais cela demain
@+
22 nov. 2018 à 21:04
Si besoin, j'ai mis mon fichier en ligne : http://www.k-upload.fr/afficher-fichier-2018-11-22-176aa6d44resultats.xlsm.html
Merci
23 nov. 2018 à 08:13
Voilà
@+ Le Pivert
23 nov. 2018 à 17:09
Merci beaucoup @LePivert