XL 2016 Formulaire avec listbox list array

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

  • toto1.xlsm
    30.3 KB · Affichages: 2

mapomme

XLDnaute Barbatruc
Supporter XLD
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 ;),
 

mapomme

XLDnaute Barbatruc
Supporter XLD
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)
 

ced91300

XLDnaute Occasionnel
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
 

mapomme

XLDnaute Barbatruc
Supporter XLD
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

  • ced91300- Liste multivaleurs vers feuille- v1.xlsm
    27.1 KB · Affichages: 2

mapomme

XLDnaute Barbatruc
Supporter XLD
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

  • ced91300- Liste multivaleurs vers feuille- v2.xlsm
    27.9 KB · Affichages: 7

ced91300

XLDnaute Occasionnel
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
 

ced91300

XLDnaute Occasionnel
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

  • ced-liste5.xlsm
    37.1 KB · Affichages: 1

Discussions similaires

Réponses
18
Affichages
634
  • Résolu(e)
Microsoft 365 Code de tri
Réponses
22
Affichages
313

Statistiques des forums

Discussions
312 216
Messages
2 086 351
Membres
103 195
dernier inscrit
martel.jg