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
Configuration: Windows XP
Internet Explorer 7.0


Merci

3 réponses

  1. Ivan-hoe Messages postés 433 Date d'inscription   Statut Membre Dernière intervention   310
     
    A quel niveau se trouve l'erreur ? (c'est la ligne qui est surlignée en jaune quand tu cliques sur Déboguer)
    0
  2. Ivan-hoe Messages postés 433 Date d'inscription   Statut Membre Dernière intervention   310
     
    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
  3. 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