Macro copier-coller d'un fichier vers un autre

Bonjour à tous !

Je voudrais une macro qui me permet de copier des éléments d'un classeur nommée "participation majeur.xls" vers le classeur "base.xls".

Pour déterminer l'endroit où copier les éléments sur le fichier "base.xls" il me faudrait un msgbox qui me demande "Quel dossier numéro de dossier voulez-vous traiter?". Je voudrais qu'une recherche du numéro saisie se fasse dans la colonne A.

Une fois positionné sur la ligne du dossier de mon fichier "base.xls".

Je voudrais qu'il copie des cellules de la méthode suivante :

Cellule B30 (participation majeurs.xls) à copier dans cellule AK (de la ligne présélectionné du fichier base.xls).

Cellule B37 (participation majeurs.xls) à copier dans cellule AM (de la ligne présélectionné du fichier base.xls).

Cellule B36 (participation majeurs.xls) à copier dan s cellule AN (de la ligne présélectionné du fichier base.xls).

Cellule B8 (participation majeurs.xls) à copier dans cellule CO (de la ligne présélectionné du fichier base.xls).

Je ne sais pas si c'est possible.

Merci de votre aide

Bonjour Liod, bonjour le forum,

On ne copie pas d'un classeur source vers un classeur destination mais plutôt d'un onglet d'un classeur source vers un onglet d'un classeur destination. Il aurait fallu spécifier les noms des onglets Source et Destination...

Code à adapter :

Sub Macro1()
Dim CD As Workbook 'déclare la variable CD (Classeur Destination)
Dim OD As Worksheet 'déclare la variable OD (Onglet Destination)
Dim CS As Workbook 'déclare la variable CS (Classeur Source)
Dim OS As Worksheet 'déclare la variable OS (Onglet source)
Dim BO As Variant 'déclare la variable BO (Boîte d'Entrée)
Dim R As Range 'déclare la variable R (Recherche)
Dim LI As Integer 'déclare la variable LI (Ligne)

Set CD = ThisWorkbook 'définit le classeur destination CD
Set OD = CD.Worksheets("Feuil1") 'à adapter à ton cas
Set CS = Workbooks("participation majeur.xls") 'définit le classeur source CS
Set OS = CS.Worksheets("Feuil1") 'à adapter à ton cas
BO = Application.InputBox("Quel dossier voulez-vous traiter ?", "NUMÉRO", Type:=2) 'définit la boîte d'entrée BO
If BO = False Or BO = "" Then Exit Sub 'si bouton [Annuler] ou non reseignée, sort de la procédure
Set R = OD.Columns(1).Find(BO, , xlValues, xlWhole) 'définit la recherche R (Recherche entière de BO dans la colonne 1 de l'onglet OD)
If R Is Nothing Then 'condition : s'il n'existe aucune occurrence trouvée
    MsgBox "Le numéro de dossier n'existe pas !": Exit Sub 'message, sort de la procédure
Else 'sinon (au moins une occurrence trouvée)
    LI = R.Row 'définit la ligne LI de la première occurrence trouvée
End If 'fin de la condition
OS.Range("B30").Value.Copy OD.Cells(LI, "AK") 'copie/colle B30 source dans la colonne AK ligne LI destination
OS.Range("B37").Value.Copy OD.Cells(LI, "AM") 'copie/colle B37 source dans la colonne AM ligne LI destination
OS.Range("B36").Value.Copy OD.Cells(LI, "AN") 'copie/colle B36 source dans la colonne AN ligne LI destination
OS.Range("B8").Value.Copy OD.Cells(LI, "CO") 'copie/colle B8 source dans la colonne CO ligne LI destination
End Sub

Macro à placer dans le classeur base.xls...

Merci beaucoup elle fonctionne et j'ai essayé de la décortiquer pour savoir comme ça fonctionne et je l'ai légèrement réadapter en gardant le même squelette.

C'est super merci beaucoup de ton aide !

Rechercher des sujets similaires à "macro copier coller fichier"