Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Copie donnees d'un autre fichier avec macro

VINCEGR

XLDnaute Occasionnel
re bonjour le forum,
voici ci-dessous une macro pour récuper les données d'un autre classeur que j'exporte d'un programme.
je souhaite récuperer seulement la colonne A;B;C;L;M du fichier export et qui me colle les données dans mon fichier "a copier".

Est-ce possible ?

Workbooks.Open Filename:="c:\donnees\export.xls"

Cells.Select
Selection.Copy
Windows("essai copie fichier.xls").Activate
Sheets("a copier").Select
Cells.Select
ActiveSheet.Paste
Range("A1").Select
Sheets("MENU").Select
End sub


Merci d'avance pour votre aide
VinceGR
 
Dernière édition:

VINCEGR

XLDnaute Occasionnel
Re : Copie donnees d'un autre fichier avec macro

bonjour philippe,
merci pour votre aide
pourquoi quand je sélectionne comme suit :

Range("L:L,M:M").Select

il me copie sur toutes les colonnes de mon fichier

et je souhaiterais savoir comment copier les colonnes L et M à la même place dans mon nouveau fichier ?
Merci d'avance
@+
VinceGr
 
Dernière édition:

VINCEGR

XLDnaute Occasionnel
Re : Copie donnees d'un autre fichier avec macro

bonjour Papou,
je souhaite si possible rremplacer les colonnes L et M de mon ancien fichier avec la copie de la colonne L et M de mon nouveau fichier .
@+
VinceGR
 

Paritec

XLDnaute Barbatruc
Re : Copie donnees d'un autre fichier avec macro

Re bonjour Vincegr,
je peux pas essayer mais essayes et redis moi je pense que cela devrait marcher
a+
papou

Code:
Sub COPIEBASEVG()
    Set wbcible = ThisWorkbook
    Set wbsource = Workbooks.Open("c:\donnees\export.xls")
wbsource .Activate
    With wbsource
        ActiveSheet.Columns("A:A").Copy wbcible.Sheets("a copier").Columns("A:A")
        ActiveSheet.Columns("B:B").Copy wbcible.Sheets("a copier").Columns("B:B")
        ActiveSheet.Columns("C:C").Copy wbcible.Sheets("a copier").Columns("C:C")
        ActiveSheet.Columns("L:L").Copy wbcible.Sheets("a copier").Columns("L:L")
        ActiveSheet.Columns("M:M").Copy wbcible.Sheets("a copier").Columns("M:M")
    End With
    Range("A1").Select
    Sheets("MENU").Select
End Sub
 

Papou-net

XLDnaute Barbatruc
Re : Copie donnees d'un autre fichier avec macro

Bonjour VINCEGR, le Forum,

Je n'ai pas testé le code de Paritec (un homonyme que je salue),

mais comme je n'aime pas travailler pour rien, je joins ma solution :

Code:
Sub COPIEBASEVG()
    
Workbooks.Open Filename:="c:\donnees\export.xls"
  Range("A:C").Copy
Windows("essai copie fichier2.xls").Activate
  Sheets("a copier").Select
  Range("A1").Select
  ActiveSheet.Paste
Windows("export.xls").Activate
  Range("L:M").Copy
Windows("essai copie fichier2.xls").Activate
  Sheets("a copier").Select
  Range("L1").Select
  ActiveSheet.Paste
Windows("export.xls").Close
  Sheets("MENU").Select
    
End Sub

Espérant avoir contribué.

Cordialement.
 

VINCEGR

XLDnaute Occasionnel
Re : Copie donnees d'un autre fichier avec macro

re paritec,
le programme fonctionne correctement et je t'en remercie.
quelle ligne de programme dois-je rajouter au prgramme pour qu'il me ferme le fichier export une fois que les informations sont collées dans nouveau fichier ?
j'ai aussi un bog sur la ligne

" Sheets("MENU").Select "
mais je l'ai désactivé et c'est ok
merci encore
@+
VinceGR
 

Paritec

XLDnaute Barbatruc
Re : Copie donnees d'un autre fichier avec macro

Re Bonjour Vincegr (le voleur de nom) PapouNet
alors pour fermer tu l'avais pas précisé ajoute la ligne en bleu
a+
papou
Code:
ActiveSheet.Columns("M:M").Copy wbcible.Sheets("a copier").Columns("M:M")
    End With
[COLOR=Blue]wbsource.close savechanges:=false[/COLOR]
    Range("A1").Select
[COLOR=Red]pour la ligne ci-dessous tu peux la retirer mais comme elle faisait
partie de la macro initiale je l'avais remise[/COLOR]
    'Sheets("MENU").Select
End Sub
 

Nata

XLDnaute Nouveau
Re : Copie donnees d'un autre fichier avec macro

Bonjour Papou Paritec,
Je me suis permis d'utiliser ta macro pour un problème similaire à celui de Vincegr, et elle fonctionne très bien pour moi aussi! Pourrais-tu stp m'indiquer comment faire pour que la copie sur le fichier destination commence à partir de la ligne 5 (et non de la ligne 1)?
Merci par avance pour ton aide, je suis une grande débutante en vba et n'en suis qu'à ma deuxième macro!
Nata
 

Paritec

XLDnaute Barbatruc
Re : Copie donnees d'un autre fichier avec macro

Bonjour Nata le forum
tu as bien fait d'utiliser le code c'est fait pour cela, par contre tu veux donc copier quoi et ou ???
là on parlait de copier des colonnes entières à la même place, et toi si j'ai compris tu veux copier la colonne de admettons A1:A dernière ligne en A5 du dossier cible?
si c'est cela voilà la modif
VB:
Sub COPIEBASEVG()
    Set wbcible = ThisWorkbook
    Set wbsource = Workbooks.Open("c:\donnees\export.xls")
wbsource .Activate
    With wbsource
        ActiveSheet.Range("A1:A"& ActiveSheet.Range("A" & rows.count).end(xlup).row).Copy wbcible.Sheets("a copier").Range("A5")
        ActiveSheet.Range("B1:B"& ActiveSheet.Range("B" & rows.count).end(xlup).row).Copy wbcible.Sheets("a copier").Range("B5")
        ActiveSheet.Range("C1:C"& ActiveSheet.Range("C" & rows.count).end(xlup).row).Copy wbcible.Sheets("a copier").Range("C5")
        ActiveSheet.Range("L1:L"& ActiveSheet.Range("L" & rows.count).end(xlup).row).Copy wbcible.Sheets("a copier").Range("L5")
        ActiveSheet.Range("M1:M"& ActiveSheet.Range("M" & rows.count).end(xlup).row).Copy wbcible.Sheets("a copier").Range("M5")
    End With
    Range("A1").Select
    Sheets("MENU").Select
End Sub
 
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…