Données listbox vers feuil1

Corgol Messages postés 2 Statut Membre -  
Ivan-hoe Messages postés 433 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Bonjour,

Etant debutant dans vb excel , j'aurai besoin de vos connaissances pour me depanner un peu sur les deux points suivants:

1. Dans ma listbox j'ai mis les donnees d'une feuille de fichier excel, feuil2, cellule B1:B200. J'aimerai faire apparaitre ces donnees dans la feuil1 dans la cellule A27 àA79 et de la cellule A113 a A157 , je voudrais que ces données se mettent les unes en dessous des autres après sélection dans ma listbox par la commande CommandButton1_Click()
Pour l’instant ça me recopie toutes les données de la liste boxe dans la feuil1, il m’est impossible de sélectionner les lignes que je veux

Voici le code

Private Sub CommandButton1_Click()
If UserForm1.Visible = True Then
End If
Dim element_select As Boolean
Dim nb_elements, i As Integer
element_select = False
nb_elements = UserForm1.ListBox1.ListCount
'Vérifie si un élément est sélectionné
'le 1er item (élément) est indexé à zéro, raison pour laquelle la boucle for démarre à zéro
For i = 0 To nb_elements - 1
If UserForm1.ListBox1.Selected(i) = True Then
element_select = True
Exit For
End If
Next
'sélectionne la cellule devant recevoir la 1ère valeur
Range("A27").Select

'Ecriture des valeurs sélectionnés dans la feuille Excel
For i = 0 To nb_elements - 1
'affecte à la cellule active la valeur sélectionnée de la colonne un de la ListeBox
'l'index des colonnes commançant à zéro, on utilise la valeur 0
ActiveCell.Value = ListBox1.List(i, 0)
'se déplace d'une cellule vers le bas
ActiveCell.Offset(1, 0).Select

Next i
End Sub


Merci
A voir également:

3 réponses

Ivan-hoe Messages postés 433 Date d'inscription   Statut Membre Dernière intervention   309
 
A quel niveau se trouve l'erreur ? (c'est la ligne qui est surlignée en jaune quand tu cliques sur Déboguer)
0
Ivan-hoe Messages postés 433 Date d'inscription   Statut Membre Dernière intervention   309
 
Bonjour Corgol,
tu peux tout à fait faire dans une seule et même boucle la vérification qu'au moins un élément est sélectionné ET écrire les éléments sélectionnés à la suite de ta liste.
Ci-dessous une suggestion à partir du code que tu fournis.
I.
Private Sub CommandButton1_Click()
Dim element_select As Boolean
Dim nb_elements As Integer, i As Integer
   
element_select = False
nb_elements = UserForm1.ListBox1.ListCount

'Vérifie si un élément est sélectionné ; si oui, cet élément est écrit _
à la fin de la liste sur la feuille
For i = 0 To nb_elements - 1
    If ListBox1.Selected(i) = True Then
        element_select = True
        Range("A27").End(xlDown).Offset(1, 0).Value = ListBox1.List(i)
    End If
Next i

'Message d'alerte si aucun élément sélectionné ; auquel cas _
la procédure est arrêtée pour permettre de faire une sélection
If element_select = False Then
    MsgBox "aucune sélection"
    Exit Sub
End If

'Sinon, le formulaire est déchargé et fermé
Unload Me

End Sub
-1
Corgol Messages postés 2 Statut Membre
 
Désolé ça ne marche pas, j'ai le code d'erreur 1004,
erreur d'exécution'1004';
erreur définie par l'application ou par l'objet


Merci d'avance
-1