Probleme pour copier des colonnes d'une feuille dans une autre feuille à l'aide

cs_tandia Messages postés 6 Date d'inscription vendredi 27 octobre 2006 Statut Membre Dernière intervention 26 juin 2008 - 24 juin 2008 à 12:32
cs_tandia Messages postés 6 Date d'inscription vendredi 27 octobre 2006 Statut Membre Dernière intervention 26 juin 2008 - 24 juin 2008 à 13:51
Salut je suis un débutant en VBA Excel. En fait j'ai du mal à copier des colonnes d'une feuilles dans une autre à partir d'une list box. C'est à dire je voudrai que dès que sélectionne l'entete de la colonne et que je clique sur OK il copie les colonnes dont le noms correspond aux champs sélectionnés dans une autre feuille.

6 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
24 juin 2008 à 12:46
salut,

comment s'appelle la feuille contenant les données ?
    "          "                  la feuille de destination ?

Et ce que tu mets dans ta listbox, est ce que ça part bien de A1,, puis B1, etc .. ?

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
0
cs_tandia Messages postés 6 Date d'inscription vendredi 27 octobre 2006 Statut Membre Dernière intervention 26 juin 2008
24 juin 2008 à 13:02
En fait la feuille contenant mes données s'appelle Rendements: La colonne A contient les dates, les autres colonnes de B à S contiennent les rendements des titres. J'ai essayé d'alimenter ma listBox à partir de la feuille de données mais en vain. Donc j'ai crée une feuille que j'ai appelé Titres dans laquelle j'ai mis dans la première colonne les nom des différents titres et j'ai ainsi pu alimenter ma ListBox par la commande: ListBox1.Rowsource.Titres!A1:A18.
La feuille de destination s'appelle Transit.

Merci à bientot.
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
24 juin 2008 à 13:13
Ok,

pour les valeurs de ton ListBox, c'était pour voir si on pouvait gérer les iIndex en rapport avec le numéro de colonne.

En gros, ça devrait faire ça :

Sheets("Rendemants").Columns(ListBox.ListIndex + 1).Copy
Sheets("Transit").Columns(ListBox.ListIndex + 1).PasteSpecial

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
0
cs_tandia Messages postés 6 Date d'inscription vendredi 27 octobre 2006 Statut Membre Dernière intervention 26 juin 2008
24 juin 2008 à 13:23
Voila le code que j'ai fait mais ça ne marche pas:


Private Sub CommandButton3_Click()
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
Sheets("Rendements").Columns(ListBox.ListIndex + 1).Copy
Sheets("Transit").Columns(ListBox.ListIndex + 1).PasteSpecial
End If
Next i


End Sub

Mais je me demande au lieu de créer une feuille pour pouvoir alimenter la ListBox n'est il pas possible de l'alimenter directement avec la feuille des données à partir de la Plage B1 jusqu'à S1.
0

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

Posez votre question
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
24 juin 2008 à 13:37
c'est nomral que ça ne fonctionne pas, t'as oublié un chiffre (1) après ListBox :

Private Sub CommandButton3_Click()
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
Sheets("Rendements").Columns(ListBox 1 .ListIndex + 1).Copy
Sheets("Transit").Columns(ListBox1.ListIndex + 1).PasteSpecial
End If
Next i

End Sub

Pour ton autre demande, oui, c'est possible, mais vu que c'est en colonne, ta listbox ne peut pas avec RowSource :
    Dim i As Integer
For i = 2 To 19
    ListBox1.AddItem Sheets("Rendements").cells(1, i).Value
Next i

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
0
cs_tandia Messages postés 6 Date d'inscription vendredi 27 octobre 2006 Statut Membre Dernière intervention 26 juin 2008
24 juin 2008 à 13:51
Apparemment ça ne marche toujours pas.

 Est ce que je peut vous envoyer le classeur pour que vous voyez le problème de plus près.

Merci et à bientot
0
Rejoignez-nous