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

Signaler
Messages postés
6
Date d'inscription
vendredi 27 octobre 2006
Statut
Membre
Dernière intervention
26 juin 2008
-
Messages postés
6
Date d'inscription
vendredi 27 octobre 2006
Statut
Membre
Dernière intervention
26 juin 2008
-
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

Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
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
Messages postés
6
Date d'inscription
vendredi 27 octobre 2006
Statut
Membre
Dernière intervention
26 juin 2008

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.
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
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
Messages postés
6
Date d'inscription
vendredi 27 octobre 2006
Statut
Membre
Dernière intervention
26 juin 2008

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.
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
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
Messages postés
6
Date d'inscription
vendredi 27 octobre 2006
Statut
Membre
Dernière intervention
26 juin 2008

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