Macro copier coller

silverbeach56 Messages postés 28 Date d'inscription mardi 11 mai 2010 Statut Membre Dernière intervention 21 juin 2010 - 9 juin 2010 à 12:13
silverbeach56 Messages postés 28 Date d'inscription mardi 11 mai 2010 Statut Membre Dernière intervention 21 juin 2010 - 14 juin 2010 à 12:41
Bonjour à tous le forum,

Voila je reviens vers vous pour un petit coup de pouce concernant une macro que je dois faire. Voila l'architecture de mes fichiers:

Classeur: BDD Commercial1
Feuille : BDD_Commercial1

Classeur: BDD Commercial2
Feuille : BDD_Commercial2

Classeur: BDD Generale
Feuille : BDD_Commercial1
BDD_Commercial2


Je souhaite copier le contenu de la feuille BDD_Commercial1 du classeur BDD Commercial1 dans la feuille BDD_Generale du classeur BDD Generale. Et idem pour le classeur BDD Commerciale2

Quelqu'un peut m'aider ?

Merci

22 réponses

silverbeach56 Messages postés 28 Date d'inscription mardi 11 mai 2010 Statut Membre Dernière intervention 21 juin 2010
14 juin 2010 à 12:11
Pour récapituler :

Base Générale à 18 onglets (BDD_Commercial1, BDD_Commercial2...)

J'ai 18 bases de données (BDD_Commercial1, BDD_Commercial2...)

Ce que je souhaite, c'est que lorsque j'appui sur un bouton present dans la base générale l'opération suivante se fasse :

Copier/coller du classeur BDD Commercial1, feuille BDD_Commercial1 dans le classeur BDD Generale,onglet BDD_Commercial1....
0
silverbeach56 Messages postés 28 Date d'inscription mardi 11 mai 2010 Statut Membre Dernière intervention 21 juin 2010
14 juin 2010 à 12:41
Voila le code que j'ai bidouillé:

Private Declare Function CloseClipboard Lib "user32" () As Long
Private Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function EmptyClipboard Lib "user32" () As Long

Sub Bouton1_QuandClic()

'-------- déclaration des variables -----------------
Dim Nom_Classeur As String
Dim repertoire As String
Dim Chemin_classeur As String
Dim Nom_feuille_a_recopier As String
Dim repertoire_source As String
Dim classeur_source As String


'---------déclaration du classeur source--------------
repertoire_source = "K:\Base de données GRC\Base de données GENERALE"
classeur_source = "BDD Generale.xls"

'---- Partie du programme à répéter pour chaque classeur à recopier ----------

' CLASSEUR TECHNIQUES--------------------------------------------------

'Les trois variables que tu dois modifier
repertoire = "K:\Base de données GRC\Techniques"
Nom_Classeur = "BDD Techniques.xls"
Nom_feuille_a_recopier = "BDD_Techniques"

'Chemin_classeur => chemin complet = Repertoire + Nom_Classeur (ne pas modifier)
Chemin_classeur = repertoire & "" & Nom_Classeur

'Ouverture classeur
Workbooks.Open (Chemin_classeur)

'Copie des données de la feuille
Workbooks(Nom_Classeur).Sheets(Nom_feuille_a_recopier).Select
Derniere_Ligne = Cells.Find("*", Range("A1"), , , xlByRows, xlPrevious).Row
Derniere_Colonne = Cells.Find("*", Range("A1"), , , xlByColumns, xlPrevious).Column
Range(Cells(1, 1), Cells(Derniere_Ligne, Derniere_Colonne)).Select
Selection.Copy

'coller dans le classeur général à la derniere ligne
Workbooks(classeur_source).Activate
Sheets(Nom_feuille_a_recopier).Activate
Derniere_Ligne = 1
On Error Resume Next
Derniere_Ligne = Cells.Find("*", Range("A1"), , , xlByRows, xlPrevious).Row + 1
Cells(Derniere_Ligne, "A").Activate
ActiveSheet.Paste

'Ferme le classeur excel
Workbooks(Nom_Classeur).Close

'Vider le presse papier
Call Vider_clipboard

End Sub

' Procédure vider le presse papier
Sub Vider_clipboard()
OpenClipboard 0
EmptyClipboard
CloseClipboard
End Sub

Je repeterai ce code pour chaque classeur. Donc la j'ai verifié la copie se fait nikel.

Mais la il me met encore un problème de presse papier
0
Rejoignez-nous