aidez moi svp,copie de colonne d'un classeur à un autre

seghi0051

XLDnaute Occasionnel
Bonjour,

Voilà, je voudrais copier les colonnes A,C,E qui se trouve sur un classeur excel vers les colonnes A,B,C qui se trouve sur un autre classeur.


Si quelqu'un peut m'aider...

MERKI,MERKI
 

mth

XLDnaute Barbatruc
Re : aidez moi svp,copie de colonne d'un classeur à un autre

Bonjour,

Tu peux faire un premier essai avec l'enregistreur de macros: dans l'onglet développeur tu cliques sur "Enregistrer une macro", ensuite tout ce que tu feras sera enregistré.
Une fois tes copies de colonnes terminées, clique sur ce bouton "arrêter l'enregistrement", tu verras ton code dans la fenêtre VBA en cliquant sur le bouton "Visual basic".

Bien à toi,

mth

Edit: bonjour lalalie3 :)
 

lalalie3

XLDnaute Nouveau
Re : aidez moi svp,copie de colonne d'un classeur à un autre

Bonjour,
Vous selectionnez les 3 col a l'aide de la touche controle en bas droite ou gauche du clavier.
Clik sur la première col, j'appuis sur la touche Ctrl du clavier, je reste appuyé et je clik sur les col suivantes.
Puis clic sur edition / Copier.
Je vais dans mon nouveau ou autre classeur
Je clik en A1,
Je clik sur edion/ colller
Et le tour est joué.
En théorie c'est ca ....
Bonne continuation
 

seghi0051

XLDnaute Occasionnel
Re : aidez moi svp,copie de colonne d'un classeur à un autre

merci a vous deux de m'avoir répondu,
mth ta solution fonctionne, mais j'ai une autre question mon classeur source n'est jamais le même connait tu la commande pour que je puisse choisir mon classeur source.
Lalalie3 je suis désolé mais ton astuce ne fonctionne, mais merci comme même.
 

mth

XLDnaute Barbatruc
Re : aidez moi svp,copie de colonne d'un classeur à un autre

re,

Avec cette instruction:
Code:
Application.FileDialog(msoFileDialogFilePicker).Show

tu ouvres la boite de dialogue te permettant de choisir ton fichier.

Bonne journée,

mth
 

lalalie3

XLDnaute Nouveau
Re : aidez moi svp,copie de colonne d'un classeur à un autre

Bonjour a vous 2,
Tu m'etonnes que ma solution ne fonctionne pas ... C'est sans VBA
Après vu mes connaissances en VBA il se pourrait qu'en créant un bouton dans une des barres qui serait lié a tous les classeurs ouvert tu pourrais faire ceci :

Sub copcol()
Range("A:A,C:C,E:E").Select 'je selectionne les col
Selection.Copy 'je cop
Workbooks("Classeurtest.xls").Sheets("Feuil1").Activate 'j'active le classeur et la feuille de "reception"
Range("A1").Select
ActiveSheet.Paste 'je col
Range("A1").Select 'je selectionne la cel A1
End Sub
en tout cas c'est ce que je ferais ...
Normalement la ca doit fonctionner
 

seghi0051

XLDnaute Occasionnel
Re : aidez moi svp,copie de colonne d'un classeur à un autre

mth voici le programme que ce me donne:
Sub copie()
'
' copie Macro
' Macro enregistrée le 05/08/2011 par acta
'
' Touche de raccourci du clavier: Ctrl+k
'
Windows("history-2011-08-05_10_44.xls").Activate
Range("C8:C10044").Select
Selection.Copy
Windows("finalstatéléphonique.xls").Activate
Range("A2").Select
ActiveSheet.Paste
Windows("history-2011-08-05_10_44.xls").Activate
ActiveWindow.ScrollRow = 10015
ActiveWindow.ScrollRow = 10002
ActiveWindow.ScrollRow = 9965
ActiveWindow.ScrollRow = 9929
ActiveWindow.ScrollRow = 9879
ActiveWindow.ScrollRow = 9818
ActiveWindow.ScrollRow = 9756
ActiveWindow.ScrollRow = 9670
ActiveWindow.ScrollRow = 9584
ActiveWindow.ScrollRow = 9461
ActiveWindow.ScrollRow = 9375
ActiveWindow.ScrollRow = 9252
ActiveWindow.ScrollRow = 9141
ActiveWindow.ScrollRow = 9018
ActiveWindow.ScrollRow = 8821
ActiveWindow.ScrollRow = 8674
ActiveWindow.ScrollRow = 8477
ActiveWindow.ScrollRow = 8280
ActiveWindow.ScrollRow = 8083
ActiveWindow.ScrollRow = 7923
ActiveWindow.ScrollRow = 7690
ActiveWindow.ScrollRow = 7493
ActiveWindow.ScrollRow = 7247
ActiveWindow.ScrollRow = 6952
ActiveWindow.ScrollRow = 6706
ActiveWindow.ScrollRow = 6472
ActiveWindow.ScrollRow = 6275
ActiveWindow.ScrollRow = 6078
ActiveWindow.ScrollRow = 5881
ActiveWindow.ScrollRow = 5635
ActiveWindow.ScrollRow = 5389
ActiveWindow.ScrollRow = 5192
ActiveWindow.ScrollRow = 4946
ActiveWindow.ScrollRow = 4713
ActiveWindow.ScrollRow = 4516
ActiveWindow.ScrollRow = 4270
ActiveWindow.ScrollRow = 4073
ActiveWindow.ScrollRow = 3913
ActiveWindow.ScrollRow = 3716
ActiveWindow.ScrollRow = 3605
ActiveWindow.ScrollRow = 3519
ActiveWindow.ScrollRow = 3433
ActiveWindow.ScrollRow = 3359
ActiveWindow.ScrollRow = 3298
ActiveWindow.ScrollRow = 3261
ActiveWindow.ScrollRow = 3199
ActiveWindow.ScrollRow = 3163
ActiveWindow.ScrollRow = 3113
ActiveWindow.ScrollRow = 3052
ActiveWindow.ScrollRow = 2990
ActiveWindow.ScrollRow = 2929
ActiveWindow.ScrollRow = 2867
ActiveWindow.ScrollRow = 2806
ActiveWindow.ScrollRow = 2720
ActiveWindow.ScrollRow = 2646
ActiveWindow.ScrollRow = 2584
ActiveWindow.ScrollRow = 2523
ActiveWindow.ScrollRow = 2437
ActiveWindow.ScrollRow = 2375
ActiveWindow.ScrollRow = 2252
ActiveWindow.ScrollRow = 2142
ActiveWindow.ScrollRow = 2019
ActiveWindow.ScrollRow = 1908
ActiveWindow.ScrollRow = 1748
ActiveWindow.ScrollRow = 1637
ActiveWindow.ScrollRow = 1477
ActiveWindow.ScrollRow = 1330
ActiveWindow.ScrollRow = 1170
ActiveWindow.ScrollRow = 1022
ActiveWindow.ScrollRow = 899
ActiveWindow.ScrollRow = 751
ActiveWindow.ScrollRow = 591
ActiveWindow.ScrollRow = 481
ActiveWindow.ScrollRow = 358
ActiveWindow.ScrollRow = 247
ActiveWindow.ScrollRow = 124
ActiveWindow.ScrollRow = 38
ActiveWindow.ScrollRow = 1
Range("F8:F10044").Select
Application.CutCopyMode = False
Selection.Copy
Windows("finalstatéléphonique.xls").Activate
Range("B2").Select
ActiveSheet.Paste
Windows("history-2011-08-05_10_44.xls").Activate
Windows("finalstatéléphonique.xls").Activate
Windows("history-2011-08-05_10_44.xls").Activate
ActiveWindow.ScrollRow = 9996
ActiveWindow.ScrollRow = 9983
ActiveWindow.ScrollRow = 9922
ActiveWindow.ScrollRow = 9861
ActiveWindow.ScrollRow = 9799
ActiveWindow.ScrollRow = 9726
ActiveWindow.ScrollRow = 9615
ActiveWindow.ScrollRow = 9529
ActiveWindow.ScrollRow = 9406
ActiveWindow.ScrollRow = 9296
ActiveWindow.ScrollRow = 9173
ActiveWindow.ScrollRow = 9063
ActiveWindow.ScrollRow = 8903
ActiveWindow.ScrollRow = 8792
ActiveWindow.ScrollRow = 8670
ActiveWindow.ScrollRow = 8522
ActiveWindow.ScrollRow = 8363
ActiveWindow.ScrollRow = 8215
ActiveWindow.ScrollRow = 8056
ActiveWindow.ScrollRow = 7896
ActiveWindow.ScrollRow = 7786
ActiveWindow.ScrollRow = 7663
ActiveWindow.ScrollRow = 7552
ActiveWindow.ScrollRow = 7430
ActiveWindow.ScrollRow = 7282
ActiveWindow.ScrollRow = 7159
ActiveWindow.ScrollRow = 7012
ActiveWindow.ScrollRow = 6816
ActiveWindow.ScrollRow = 6619
ActiveWindow.ScrollRow = 6423
ActiveWindow.ScrollRow = 6226
ActiveWindow.ScrollRow = 6030
ActiveWindow.ScrollRow = 5833
ActiveWindow.ScrollRow = 5637
ActiveWindow.ScrollRow = 5440
ActiveWindow.ScrollRow = 5244
ActiveWindow.ScrollRow = 5047
ActiveWindow.ScrollRow = 4900
ActiveWindow.ScrollRow = 4741
ActiveWindow.ScrollRow = 4593
ActiveWindow.ScrollRow = 4434
ActiveWindow.ScrollRow = 4286
ActiveWindow.ScrollRow = 4163
ActiveWindow.ScrollRow = 4053
ActiveWindow.ScrollRow = 3930
ActiveWindow.ScrollRow = 3820
ActiveWindow.ScrollRow = 3721
ActiveWindow.ScrollRow = 3611
ActiveWindow.ScrollRow = 3488
ActiveWindow.ScrollRow = 3341
ActiveWindow.ScrollRow = 3144
ActiveWindow.ScrollRow = 2948
ActiveWindow.ScrollRow = 2702
ActiveWindow.ScrollRow = 2444
ActiveWindow.ScrollRow = 2248
ActiveWindow.ScrollRow = 2002
ActiveWindow.ScrollRow = 1806
ActiveWindow.ScrollRow = 1659
ActiveWindow.ScrollRow = 1499
ActiveWindow.ScrollRow = 1352
ActiveWindow.ScrollRow = 1192
ActiveWindow.ScrollRow = 1106
ActiveWindow.ScrollRow = 983
ActiveWindow.ScrollRow = 897
ActiveWindow.ScrollRow = 836
ActiveWindow.ScrollRow = 775
ActiveWindow.ScrollRow = 689
ActiveWindow.ScrollRow = 627
ActiveWindow.ScrollRow = 554
ActiveWindow.ScrollRow = 517
ActiveWindow.ScrollRow = 455
ActiveWindow.ScrollRow = 443
ActiveWindow.ScrollRow = 406
ActiveWindow.ScrollRow = 394
ActiveWindow.ScrollRow = 382
ActiveWindow.ScrollRow = 369
ActiveWindow.ScrollRow = 357
ActiveWindow.ScrollRow = 345
ActiveWindow.ScrollRow = 308
ActiveWindow.ScrollRow = 271
ActiveWindow.ScrollRow = 259
ActiveWindow.ScrollRow = 247
ActiveWindow.ScrollRow = 210
ActiveWindow.ScrollRow = 197
ActiveWindow.ScrollRow = 185
ActiveWindow.ScrollRow = 173
ActiveWindow.ScrollRow = 161
ActiveWindow.ScrollRow = 148
ActiveWindow.ScrollRow = 136
ActiveWindow.ScrollRow = 124
ActiveWindow.ScrollRow = 112
ActiveWindow.ScrollRow = 99
ActiveWindow.ScrollRow = 87
ActiveWindow.ScrollRow = 75
ActiveWindow.ScrollRow = 62
ActiveWindow.ScrollRow = 50
ActiveWindow.ScrollRow = 38
ActiveWindow.ScrollRow = 26
ActiveWindow.ScrollRow = 13
ActiveWindow.ScrollRow = 1
Range("G8:G10044").Select
Application.CutCopyMode = False
Selection.Copy
Windows("finalstatéléphonique.xls").Activate
Range("C2").Select
Range("D2").Select
ActiveSheet.Paste
Windows("history-2011-08-05_10_44.xls").Activate
Range("I8:I10044").Select
Application.CutCopyMode = False
Selection.Copy
Windows("finalstatéléphonique.xls").Activate
Range("C2").Select
ActiveSheet.Paste
Range("D2").Select
End Sub

mais ou dois je mettre te commande
merci...
 

mth

XLDnaute Barbatruc
Re : aidez moi svp,copie de colonne d'un classeur à un autre

re :)

Un petit essai avec ce code et quelques commentaires, en espérant que cela pourra t'aider:

VB:
Option Explicit
Sub copier()
'Déclaration des variables
Dim x As String, myfichier As Variant
Dim i As Byte
'Bloque le rafraichissement écran
Application.ScreenUpdating = False
'With pour regrouper plusieurs actions sur le fichier de départ (celui-ci qui contient la macro)
With ThisWorkbook
'Ajoute les noms myplage1234 faisant référence aux cellules à copier
.Names.Add Name:="myplage1", RefersTo:="=" & ActiveSheet.Name & "!" & "$C$8:$C$10044"
.Names.Add Name:="myplage2", RefersTo:="=" & ActiveSheet.Name & "!" & "$F$8:$F$10044"
.Names.Add Name:="myplage3", RefersTo:="=" & ActiveSheet.Name & "!" & "$G$8:$G$10044"
.Names.Add Name:="myplage4", RefersTo:="=" & ActiveSheet.Name & "!" & "$I$8:$I$10044"
End With
 
'prend la valeur du fichier sélectionné
myfichier = Application.GetOpenFilename("Fichier Excel,*.xls")
'si fichier sélectionné l'ouvre
If myfichier <> False Then Workbooks.Open myfichier
'Note le nom du fichier ouvert
x = ActiveWorkbook.Name
 
'Boucle de 1 à 4
For i = 1 To 4
'Active le fichier de départ
ThisWorkbook.Activate
'Copie la première plage
Range("myplage" & i).Copy
'Active le second fichier
Windows(x).Activate
'Sélectionne la cellule d'accueil
Cells(2, i).Select
'Colle
ActiveSheet.Paste
'Vide le presse papier 
Application.CutCopyMode = False
Next i
 
'Réactive le rafraichissement écran
Application.ScreenUpdating = True
End Sub

Bonne soirée,

mth
 

Discussions similaires

Réponses
22
Affichages
914

Statistiques des forums

Discussions
312 614
Messages
2 090 242
Membres
104 464
dernier inscrit
alzerco