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

macro copier coller de fichier actif vers cible

  • Initiateur de la discussion Initiateur de la discussion Le Belge
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

L

Le Belge

Guest
Bonjour,

Je dois faire une petite macro qui me permettrait de faire un copier coller à partir du fichier actif quelque soit son nom vers un fichier cible qui est tjrs le même. Comment faire pour que la macro prenne les cellules sur le fichier ouvert quelque soit son nom?


Merci
 
Bonjour Le Belge, le forum,

Peux tu être plus claire dans ta demande.

car dans ce que tu souhaites tu parles de fichier source qui n'est pas toujours le même ? tu souhaites faire une macro complémentaire ?

quand tu parles de fichier cible qui serait toujours le même tu penses peux être au fichier qui porterait la macro ?

les données copier devrait aller ce coller ou dans ce même fichier ?

toujours dans les mêmes colonne mais à la suite ? dans une nouvelle feuille du nom du fichier source ?

je peux en dire plein comme ca....

@+
 
Je clarifie....

En fait j'ouvre beaucoup de fichier différents desquels je dois prendre deux colonnes en particulier pour les placer dans un fichier (tjs le même) qui me trie les données 'TRI'.

Je veux faire une macro que je place dans 'classeur de macros personnelles' et je crèe un bouton toujours présent dans une barre d'outil 'macro' pour l'activer.

Il faut que cette macro prenne les données du fichier ouvert à ce moment quelque soit son nom pour les coller dans le fichier 'TRI'

Et puisque tu le propose 😉 🙂 ce serait bien si je pouvait placer les données de plusieurs fichier à la suite l'une de l'autre, les données sont en colonne.


Merci d'aider les nuls.
 
re,

as tu un exemple de ton fichier afin de voir comment sont tes colonnes (deja lesquel, si elle sont continu ou pas).

ton fichier cible est il à l'identique des fichier source

exemple si je copie dans A je colle dans A si copie D colle dans D ?
 
Je n'ai pas trop le temps en ce moment mais si tu peux envoi mois un exemple de ton fichier sinon soit plus explicite dans ce que tu veux vraiment.

si les colonne cible et source ne sont pas les mêmes alors (A vers A) indique moi toute les colonnes possible.

je regarderai demain
et en fonction des infos je te repond
 
Bien dormi? moi oui...

Dans les fichiers sources, les données dont le nombre est variable de 1 à 2000 sont dans les colonnes Det F. Il faut les envoyer dans les colonnes A et B du fichier cible 'TRI'.

Idéalement il serait intéressant que je puisse compiler dans le fichier cible les données de deux fichiers sources à la suite des autre dans les mêmes colonnes A etB.


Merci de m'aider

Le Belge
 
Tres bien merci,

autre question c'est D => A et F =>B ou D=>B et F=>A ou même les 2.

tes données vont ils de paire exemple si la fin est en D40 sera t on aussi en F40 ?

Derniere question.

faut il copier toute la colonne ou une partie.

si toute la colonne y a t'il une entête (car je supose qu'il ne faut pas la copier)?.

Voila.

avec toutes ces infos il n'y a pas de problème.
 
re bonjour,

comme je n'ai pas eu de reponse j'ai choisi les options suivante

-je copie toute la colonne du fichier source sauf la ligne 1 (pour les entêtes)
-je copie toujours le D vers le A et le F vers le B.

dans le code suivant il te sufi de modifier Thomas.xls par TRI.xls
ainsi que l'adresse de ce fichier.

tiens moi au courant

@+
Thomas®

Code:
Sub thomas()
Dim u As Integer
Dim o As Integer
Dim fichier As String
Dim feuille As String
fichier = ActiveWorkbook.Name 'donne le nom du fichier actif à la variable fichier
feuille = ActiveSheet.Name 'donne le nom de la feuille active à la variable feuille
u = Workbooks(fichier).Sheets(feuille).Range('D65000').End(xlUp).Row ' u = le numéro de la derniere ligne utilisé de la colonne D
On Error GoTo fin 'si il y a une erreur va à fin:
suite1:
o = Workbooks('Thomas.xls').Sheets(1).Range('A65000').End(xlUp).Row + 1 'o = la ligne qui suit le dernier enregistrement du fichier choisi
  
  Workbooks(fichier).Sheets(feuille).Range('D2:D' & u).Copy _
Destination:=Workbooks('Thomas.xls').Worksheets('Feuil1').Range('A' & o) ' copie la plage D vers A du fichier voulu

Workbooks(fichier).Sheets(feuille).Range('F2:F' & u).Copy _
Destination:=Workbooks('Thomas.xls').Worksheets('Feuil1').Range('B' & o) 'copie F vers B


Exit Sub
suite:
Workbooks.Open FileName:= _
            'D:\\macros\\Thomas.xls' 'ouvre le fichier à cette adresse
GoTo suite1
fin:
If Err.Number = 9 Then GoTo suite 'si le type d'erreur est 9 alors va à suite :
End Sub
[file name=Le_Belge.zip size=11587]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Le_Belge.zip[/file]
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
161
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…