Automatiser la copie d'un fichier vers un autre fichier - VB/VBA/VBS - Programmation
Marsh Posté le 26-05-2006 à 19:03:43
Voilà un exemple qui devrait t'aider.
La macro "boucle" sur la boite de sélection de fichier jusqu'à une sortie par "Annuler".
Code :
|
Ce n'est peut-être pas la façon la plus efficace de faire puisque l'on ouvre effectivement, et de façon visible, les fichiers, mais cela correspond à ta demande.
Reste bien sûr à "blinder" tout ça
Bon courage.
Bidgii
Marsh Posté le 29-05-2006 à 16:25:11
Merci je vais essayer de voir avec ça.
Cela me parait fort interessant !
Merci encore et n'hésitez pas si vous avez d'autres conseils !
Edit : merci beaucoup ! J'ai reussi à obtenir quelque chose de très bien grâce à ton code !
Merci beaucoup Bidgii
Marsh Posté le 24-05-2006 à 15:34:01
Bonjour,
Je vous précise tout d'abord mon problème :
Je dois copier une cellule précise d'un fichier E1 vers une cellule précise d'un fichier E2.
Par comodité, on dira de la cellulle B1 du fichier E1 vers la cellule B2 du fichier E2.
Seulement cette copie doit s'effectuer par l'intermédiaire d'un bouton.
De sorte que, lorsque je clique sur le bouton, une fenêtre s'ouvre pour me demander de selectionner le fichier E2, qui une fois selectionner, me copie directement la cellule B1 de E1 vers la cellule B2 de E2.
J'ai essayer avec le recorder, et j'ai reussi à faire une macro sur un bouton qui copie une cellule du fichier E2 vers une cellule du fichier E1.
Mais il y a plusieurs problème et d'autres modifications que j'aimerai apporter :
- Je voudrais que le fichier dans lequel je copie la cellule soit le fichier ouvert et non pas le fichier spécifique à celui qui a servie à créer la maccro (en gros la copie devrait s'effectuer sur le fichier ouvert)
- Je voudrais que le "coller" passe à la ligne d'en dessous au prochain clique sur le "bouton"
On aurait par exemple :
Premier clique sur le bouton : Je copie la cellule B2 du fichier E2 dans la cellule B1 du fichier E1
Puis un deuxième clique plus tard : Je copie la cellule B2 du fichier E3 dans la cellule C1 du fichier E1
Et ainsi de suite (ce procédé permettant de mettre à jour des données sur différents mois par exemple).
Je pense qu'il faut peut être changer quelque chose dans cette portion du code pour le problème du fichier ouvert :
Windows("classeur1.xls" ).Activate
Range("C16" ).Select
Selection.Copy
Windows("Classeur1" ).Activate
Mais je n'en suis pas persuadé.
Ensuite pour la copie de cellule, il faut peut être faire une sorte de boucle ou de compteur. Je ne sais pas.
Si vous avez des idées, une solution, un code qui fonctionne, à me fournir, je suis tout ouïe ! Car j'ai vraiment de grosse lacune en VBA.
Merci d'avance.
Bonne journée à tous !
PS : Si je n'ai pas été assez clair, n'hésiter pas à me demander de plus amples précisions.