Listbox vers feuil1

cs_Corgol Messages postés 4 Date d'inscription dimanche 14 septembre 2008 Statut Membre Dernière intervention 24 septembre 2008 - 20 sept. 2008 à 07:47
cs_Corgol Messages postés 4 Date d'inscription dimanche 14 septembre 2008 Statut Membre Dernière intervention 24 septembre 2008 - 24 sept. 2008 à 21:25
Au secours, je n'ai aucune connaissance en Visual Basic pour Excel, alors si vous pouviez m'aider, par avance merci<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??>





J'ai rempli une listbox d'une colonne avec les données stockées dans ma feuil2,je voudrais que les lignes sélectionnées dans ma listebox soient versées dans ma feuil1 les unes derrière les autres, par la commande validée, quand j'exécute celle-ci






 






en plus claire, si je choisi 2 lignes dans ma listbox je voudrais qu'elles soient copiées les unes en dessous des autres ainsi de suite, puis je re sélectionne plusieurs autres lignes pour qu’elles se copies à la suite des autres ceci entre la cellule A 27 et la cellule A 78, et entre la cellule A 113 et A 115 de ma feuil1





Je vous remercie par avance de lait que vous aurez la gentillesse de m’apporte






 






Voici le code






 






Private Sub CommandButton1_Click()






    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 <?xml:namespace prefix st1 ns "urn:schemas-microsoft-com:office:smarttags" /??><st1:personname w:st="on" productid="la ListeBox">la ListeBox</st1:personname>





'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






 






Private Sub CommandButton2_Click()





Unload Me





End Sub

6 réponses

dedenet2 Messages postés 372 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 22 juillet 2013 2
20 sept. 2008 à 13:39
Bonjour ,
Voici une idee de programme:

Private Sub CommandButton1_Click()

Dim element_select As Boolean
Dim nb_elements
Dim i As Integer, j As Integer
Dim nb_elements_selectionnés As Integer


'Nombre d'élément dans listbox1
nb_elements = UserForm1.ListBox1.ListCount


For i = 0 To nb_elements - 1
If UserForm1.ListBox1.Selected(i) = True Then
For j = 27 To 115
If j >= 27 And j <= 78 Or j >= 113 And j <= 115 Then
If Trim(Cells(j, 1).Value) = "" Then
Cells(j, 1).Value = UserForm1.ListBox1.List(i)
Exit For
End If
End If
Next j
End If
Next i

End Sub

A améliorer éventuellement
A++
0
cs_Corgol Messages postés 4 Date d'inscription dimanche 14 septembre 2008 Statut Membre Dernière intervention 24 septembre 2008
22 sept. 2008 à 21:08
Je vous remercie pour la réponse que vous m'avez fait, c'est exactement ce qu'il me fallait, je voudrais abuser de votre gentillesse, comment faut-il faire pour prendre certaines lignes de ma feuil2 avec la mise en forme change et les envoyer sur ma feuil1 par l'intermédiaire de ma listboxe. Encore merci pour ce que vous avez fait auparavant
0
dedenet2 Messages postés 372 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 22 juillet 2013 2
23 sept. 2008 à 19:23
Bonjour ,
je ne comprend pas ce que tu veux !
Explique mieux !
A++
0
cs_Corgol Messages postés 4 Date d'inscription dimanche 14 septembre 2008 Statut Membre Dernière intervention 24 septembre 2008
24 sept. 2008 à 19:01
 comment faut-il faire pour prendre certaines lignes de ma feuil2 avec la mise en forme changée (par exemple changer de police de caractères) et les envoyer sur ma feuil1 par l'intermédiaire de ma listboxe, en plus je voudrais pouvoir utiliser ma feuil1 sans être obligé de fermer ma liste boxe. J'ai essayé sur le terrain le code que vous m'avez donné (pour éditer des devis) et ça marche superbe! Encore merci pour ce que vous avez fait auparavant
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dedenet2 Messages postés 372 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 22 juillet 2013 2
24 sept. 2008 à 19:27
Bonjour ,
Excuse moi mais j'essaie encore de comprendre.
> tu veux selectionner les lignes dans le listbox
En meme temps que la selection ,le ligne correspondante
sur la feuille change de police.
Puis envoyer les lignes selectionnées sur la feuil1
en dessous des autres , je suppose.

Rectifie moi , si c'est pas ça.

Difficile de réponse sans que je vois le vrai fichier !
A++
0
cs_Corgol Messages postés 4 Date d'inscription dimanche 14 septembre 2008 Statut Membre Dernière intervention 24 septembre 2008
24 sept. 2008 à 21:25
Je me suis mal expliqué, je voulais changer la mise en forme de certaines lignes de ma feuil2 par exemple (lignes 1 et 2 en gras, ligne 10 et 11 en arial, et de les dupliquer dans ma feuil1, ma listbox ne serviraient qu'à les envoyer.Merci
0
Rejoignez-nous