[vb6] copier de feuilles en feuilles dans le meme tableau excel via vb6

batao Messages postés 50 Date d'inscription mercredi 27 avril 2005 Statut Membre Dernière intervention 15 mai 2006 - 23 juin 2005 à 15:50
Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 - 24 juin 2005 à 14:31
Salut a tous et toutes
encore une galère de stagesque je vais vous faire partager

je trie des données a partir d'un tableau excel
je les envoie vers d'autres tableau excel suivant la colonne de début
jusque là pas de problèmes mais ensuite 2ème tri :
je voudrais réorganiser chaque tableau(feuille1)
en plusieurs feuilles dans le meme tableau
( c'est pas trop clair !!!!)

donc je voudrais savoir comment copier de feuilles en feuilles
j'ai testé

appexcel.activeworkbook.sheets(1).select
rows(a).select
selection.copy
appexcel.activeworkbook.sheets(2).select
rows(a).select
activesheet.paste

merci d'avance
batao

3 réponses

Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
24 juin 2005 à 01:34
Copier de feuilles en feuilles dans un même fichier Excel, le plus simple que j'ai trouvé c'est par exemple :

- Pour des cellules :
worksheets("Feuille1").range("A1:C3").copy

worksheets("Feuille2").range("D20:F23").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False

- Pour des lignes :
worksheets("Feuille1").rows("1:4").copy

worksheets("Feuille2").rows("6:10").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False

Pour des colonnes :
worksheets("Feuille1").columns("A:D").copy

worksheets("Feuille2").columns("F:J").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False

(pour une raison que je n'ai pas encore élucidé, si je le fais avec juste un ".paste", j'ai des soucis)

Et si tu veux faire la même chose dans 2 fichiers différents, il faut que les 2 soient ouverts et il te suffit de rajouter windows("Nomdufichier") devant, ce qui te donne par ex :
windows("Nomdufichier1").worksheets("Feuille1").range("A1:C3").copy

windows("Nomdufichier2").worksheets("Feuille2").range("D20:F23").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
0
batao Messages postés 50 Date d'inscription mercredi 27 avril 2005 Statut Membre Dernière intervention 15 mai 2006
24 juin 2005 à 09:47
J'ai essayé pour les colonnes car c'est ce qui m'intéresse mais rien ne se passe
je dois définir les feuilles comme
dim Feuille1 as Worksheet
ou qqchose du genre ???
0
Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
24 juin 2005 à 14:31
Non non, c'est juste le nom de ta page.

Par exemple,
Ton classeur Excel a pour nom Test.
Il contient 3 feuilles Toto, Tata, Titi

Si tu veux copier la colone A de la feuille Toto dans la colone C de la feuille Tata, ça te donne

Tu crées un bouton sur une feuille.
Dans son code, tu colles :

Sub Bouton_Click()

worksheets("Toto").columns("A:A").copy

worksheets("Tata").columns("C:C").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False

End sub

Et quand tu cliques sur le bouton, ça te fait la copie.
0
Rejoignez-nous