Macro ajouter données listbox dans feuille
Résolu
andy2092
Messages postés
78
Date d'inscription
Statut
Membre
Dernière intervention
-
andy2092 Messages postés 78 Date d'inscription Statut Membre Dernière intervention -
andy2092 Messages postés 78 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai crée un formulaire avec une listbox multichoix qui contient une liste représentée dans une feuille.
Je souhaite crée un bouton sur le formulaire avec un code qui permet d'ajouter les éléments de la liste qui sont sélectionnés en insérant une ligne à chaque fois. La raison est parce que je veux ajouter les éléments sélectionnés dans une autre feuille dans un endroit spécifique sans que cela interfère avec les autres données de la feuille.
Voici une représentation de ce que je veux faire :

Quelqu'un pourrait-il m'aider ?
J'ai crée un formulaire avec une listbox multichoix qui contient une liste représentée dans une feuille.
Je souhaite crée un bouton sur le formulaire avec un code qui permet d'ajouter les éléments de la liste qui sont sélectionnés en insérant une ligne à chaque fois. La raison est parce que je veux ajouter les éléments sélectionnés dans une autre feuille dans un endroit spécifique sans que cela interfère avec les autres données de la feuille.
Voici une représentation de ce que je veux faire :

Quelqu'un pourrait-il m'aider ?
1 réponse
-
Bonjour,
comme ceci:
Dim i As Byte Dim val As String Dim myCell, ligne Set myCell = Application.InputBox( _ prompt:="Sélectionnez la ligne en dessous", Type:=8) ligne = myCell.Row 'boucle sur les éléments de la listbox For i = 0 To ListBox1.ListCount - 1 If ListBox1.Selected(i) = True Then val = ListBox1.List(i) End If Next i If val = "" Then Exit Sub Rows(ligne & ":" & ligne).Select Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove ActiveCell.FormulaR1C1 = val
-
-
En multisélection:
Dim i As Byte Dim val As String Dim myCell, ligne Set myCell = Application.InputBox( _ prompt:="Sélectionnez la ligne en dessous", Type:=8) ligne = myCell.Row 'boucle sur les éléments de la listbox For i = 0 To ListBox1.ListCount - 1 If ListBox1.Selected(i) = True Then val = ListBox1.List(i) If val = "" Then Exit Sub Rows(ligne & ":" & ligne).Select Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove ActiveCell.FormulaR1C1 = val End If Next i
voilà -
-
Salut ! Je reviens sur cette question car j'ai un petit problème. Quand j'ajoute des sélections de la listbox et que je le copie sur ma feuille, l'insertion se fait à l'envers. La dernière sélection est insérée en premier et ainsi de suite.
Est-il possible d'insérer les sélections en ordre ?
Merci ! -
Essaie ceci:
Dim i As Byte Dim val As String Dim myCell, ligne Set myCell = Application.InputBox( _ prompt:="Sélectionnez la ligne en dessous", Type:=8) ligne = myCell.Row 'boucle sur les éléments de la listbox For i = 0 To ListBox1.ListCount - 1 If ListBox1.Selected(i) = True Then val = ListBox1.List(i) If val = "" Then Exit Sub Rows(ligne & ":" & ligne).Select Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove ActiveCell.FormulaR1C1 = val ligne = ligne + 1 End If Next i
@+ Le Pivert
-