Valeurs LBx vers feuille

Bonjour à tous

J'ai une petite question concernant l'enregistrement et récupération de valeurs d'une ListBox.

Dans une ListBox, il y a des valeurs (non fixe, ça peu être : 2 val, 5 val, 7 val, 10 val, 15 val, 17 val, ect.. valeurs).

Est il possible d'enregistrer les valeurs d'une ListBox sur une ligne d'une feuille, au lieu d'une colonne ?

Exemple : à partir de le Colonne U.

U1 = LBx Item 1 - V1 = LBx Item 2 - W1 = LBx Item3 Ect....

Et ensuite pouvoir récupérer ces valeurs en ligne dans la LBx ?

Merci de votre compréhension

Cdlt

pompaero

Bonjour,

à tester,

Sheets("Feuil1").[U1].Resize(, Me.ListBox1.ListCount) = Application.Transpose(Me.ListBox1.List)

Bonjour SabV

Merci de ton retour rapide, je viens de tester rapidement, le résultat à l'aire de correspondre à mon attente, je n'ai plus qu'à essayer de l'adapter à mon projet.

Grand merci encore.

pompaero

pour transposer les valeurs de ListBox1 sur ListBox2

  With Me.ListBox2
     .Clear
     .ColumnCount = Me.ListBox1.ListCount

    'Première colonne
    .AddItem Me.ListBox1.List(0)

    'boucle sur les éléments de la listbox - Deuxième colonne et +
     For i = 1 To ListBox1.ListCount - 1
        .List(.ListCount - 1, i) = Me.ListBox1.List(i)
     Next i
  End With

Re

!!!!!!!! je ne vois pas ce que tu veux dire, désolé.

Ce que j'essai de faire, sur U_CreatModifDispo dans la macro CreatModifavec, est d'enregistrer la ListBox2 à partir de la colonne U de l'onglet "Lieu Mission" en transposé (sur une ligne) correspondant à chaque mission.

et ensuite quand l'U_CreatModifDispo s'activera on devra récupérer ces données (si il y a) dans ListBox 2.

Je te joins mon Fichier, pour te rendre conte.

Cdlt

17pompaero-v2.xlsm (259.54 Ko)

je faisais suite à:

Et ensuite pouvoir récupérer ces valeurs en ligne dans la LBx ?

Aaah ok !! désolé.

Tu parle de LBx1 vers LBx2, mais ce serai de l'onglet vers LBx2.

voici un exemple,

Bonjour sabV

Désolé du silence.

Merci pour l'exemple, mais après avoir tenté plusieurs fois, je n'arrive pas à adapter sur ma macro "CreatModif" pour enregistrer les valeurs de la LBx2 !! ça comment à m'énerver un peu , le pire c'est que ça a marcher une fois et puis ça ne veux plus.

et

ensuite sur macro "Lecture" pour récupérer les valeurs (si il y en a) dans LBx2 à l'ouverture du UF

est il possible d'avoir un peu d'aide, svp ?

En PJ le fichier.

Cdlt

21pompaero-v1.xlsm (133.31 Ko)

Bonjour,

votre fichier comporte plusieurs UserForm, pouvez-vous me dire ou se situe le problème ?

Désolé !!

c'est vrai, j'ai oublié de préciser.

C'est dans l'UF CreatModifDispo

merci

Bonjour,

à l'ouverture du UserForm (U_CreatModifDispo) le ListBox1 est renseigné,

ensuite en sélectionnant un item, le bouton (CmbLb1VersLb2) s'affiche,

un clic sur ce bouton et l'item est transférer au ListBox2

ensuite en sélectionnant un item de ListBox2 , le bouton (CmbLb2VersLb3) s'affiche,

un clic sur ce bouton et l'item est transférer au ListBox3

pour le renversement les macro des bouton CmbLb2VersLb1 et CmbLb3VersLb2 fonctionnent bien

je ne vois pas ou est le problème...

Édit:

je n'arrive pas à adapter sur ma macro "CreatModif" pour enregistrer les valeurs de la LBx2

je n'ai pas trouvé la macro Sub CreatModif()

Oui tout cela fonctionne, pour le moment, C'est une fois la ListBox2 renseigné, quand je click sur bouton modifier ça bug dans la macro :

'************************************************************************
' Création des données dans ListView
'************************************************************************
Sub CreateModif(Lig)
   For C = 2 To 20
      Select Case C
         Case 2, 11, 15 To 20
            If IsDate(Controls("TextBox" & C).Value) Then
               Sh.Cells(Lig, C).Value = CDate(Controls("TextBox" & C).Value)
            End If
         Case Else
            Sh.Cells(Lig, C).Value = Controls("TextBox" & C).Value
'## Exemple code --> Sheets("Feuil1").[U1].Resize(, Me.ListBox1.ListCount) = Application.Transpose(Me.ListBox1.List)
           Sh.Cells(Lig, 21).Resize(, Me.ListBox2.ListCount) = Application.Transpose(Me.ListBox2.List)      End Select
   Next
End Sub

qu'est ce qu'il faut pour que le bouton modifier s'affiche ?

Sur l'onglet Menu, click sur Btn Disponibilité --> cela ouvre l'U_Dispo, la dessus on click ou doubleclick sur une ligne et l'U_CreatModifDispo s'ouvre.

A partir de la il y a un Btn Modifier et c'est la que ça bug.

Sh est déclarer mais n'est pas défini, c'est quel feuille ?

Édit:

par exemple pour permettre l'utilisation de la variable sh dans tout le project:

Public sh As Worksheet  'déclaration

Sub Workbook_Open()
   Set sh = Worksheets("Feuil1")  'défénition
End Sub

Bonjour,

modifier cette instruction ainsi

Sh.Cells(Lig, 21).Resize(Me.ListBox2.ListCount,Me.ListBox2.ColumnCount) = Me.ListBox2.List 

Bonjour sabV et thev

sabV :

Même en déclarant l'onglet cela bug.

thev :

L'enregistrement s'effectue bien mais sur une seule colonne, j'aimerai sur une ligne. (est ce possible ?)

Ex : ton code

Colonne U

Nom 2

Nom 8

Nom 10

ect...

J'aimerai :

Colonne U / Colonne V / Colonne W / Colonne X /

Nom 2 / Nom 8 / Nom 10 / ect...

pompaero a écrit :

L'enregistrement s'effectue bien mais sur une seule colonne, j'aimerai sur une ligne. (est ce possible ?)

Pour l'avoir en ligne, il faut effectuer une transposition

    With Me.ListBox2
        Sh.Cells(Lig, 21).Resize(.ListCount, .ColumnCount) = Application.Transpose(.List)
    End With
 

Bonjour pompaero, thev, le forum,

à tester,

Sh.Cells(Lig, 21).Resize(, Me.ListBox2.ListCount) = Me.ListBox2.List
Rechercher des sujets similaires à "valeurs lbx feuille"