XL 2016 Formulaire avec listbox list array

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 !

ced91300

XLDnaute Occasionnel
bonjour à tous,

Je n'arrive pas à enregistrer dans la feuille la totalité du formulaire et plus précisément les éléments de la listbox

je joins en PJ mon fichier d'essai

merci pour votre aide

Cordialement

Cédric
 

Pièces jointes

Bonjour @ced91300 🙂,

Il faudrait nous dire sous quelle forme vous voulez l'enregistrer :
  • une liste déroulante des valeurs cochées dans la cellule de la colonne H
  • un texte des valeurs cochées séparées par un séparateur (par exemple le point-virgule)
  • une valeur cochée dans chaque colonne à partir de la colonne H
  • ou bien alors encore autre chose...
à plus 😉,
 
Re,

Le plus facile => les valeurs cochées sont placées dans la colonne H séparées par points-virgules :
VB:
      Dim i As Long, s As String
      For i = 0 To essai.ListCount - 1
         If essai.Selected(i) Then s = s & ";" & essai.List(i, 0)
      Next i
      Sheets("toto").Cells(Der_Ligne, 8) = Mid(s, 2)
 
Bonjour @ced91300 🙂,

Il faudrait nous dire sous quelle forme vous voulez l'enregistrer :
  • une liste déroulante des valeurs cochées dans la cellule de la colonne H
  • un texte des valeurs cochées séparées par un séparateur (par exemple le point-virgule)
  • une valeur cochée dans chaque colonne à partir de la colonne H
  • ou bien alors encore autre chose...
à plus 😉,
Bonjour mapomme,

je souhaite l'enregistrer dans une seule colonne séparée d'un point virgule.

Merci de ton aide
 
je souhaite l'enregistrer dans une seule colonne séparée d'un point virgule.
C'est donc la version de mon 2° message :
VB:
      Dim i As Long, s As String
      For i = 0 To essai.ListCount - 1
         If essai.Selected(i) Then s = s & ";" & essai.List(i, 0)
      Next i
      Sheets("toto").Cells(Der_Ligne, 8) = Mid(s, 2)
 

Pièces jointes

en revanche la lisbox ne s'initialise pas apes l'enregistrement (j'ai rentrer essai.Value = ""
On va faire d'une pierre deux coups. Dans la boucle, après avoir traité une ligne (i) cochée dans la boucle, on décoche la ligne.
VB:
      For i = 0 To essai.ListCount - 1
         If essai.Selected(i) Then s = s & ";" & essai.List(i, 0): essai.Selected(i) = False
      Next i
      Sheets("toto").Cells(Der_Ligne, 8) = Mid(s, 2)
 

Pièces jointes

On va faire d'une pierre deux coups. Dans la boucle, après avoir traité une ligne (i) cochée dans la boucle, on décoche la ligne.
VB:
      For i = 0 To essai.ListCount - 1
         If essai.Selected(i) Then s = s & ";" & essai.List(i, 0): essai.Selected(i) = False
      Next i
      Sheets("toto").Cells(Der_Ligne, 8) = Mid(s, 2)
Excuse moi,

Et si je souhaite réaliser une listbox supplémentaire du même type et à la suite ?

merci
 
On va faire d'une pierre deux coups. Dans la boucle, après avoir traité une ligne (i) cochée dans la boucle, on décoche la ligne.
VB:
      For i = 0 To essai.ListCount - 1
         If essai.Selected(i) Then s = s & ";" & essai.List(i, 0): essai.Selected(i) = False
      Next i
      Sheets("toto").Cells(Der_Ligne, 8) = Mid(s, 2)
Bonjour Mapomme,

Désolé de te déranger une nouvelle fois

Nouveau petit souci dans mon fichier, j'ai juste oublié la modification via le formulaire 🫣

J'ai continué à bosser dessus, avec en + un formulaire de modification, mais je n'arrive pas coder au niveau de la Listobox

en PJ le fichier

Merci
 

Pièces jointes

- 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

  • Question Question
Microsoft 365 Formulaire
Réponses
2
Affichages
121
Réponses
6
Affichages
174
Réponses
22
Affichages
497
Réponses
8
Affichages
105
Retour