copier/coller une plage variable d'un classeur à un autre

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 !

taupivin

XLDnaute Junior
Bonjour les développeurs,

Peut-être pourrez-vous m'aider sur mon problème.
Je souhaite réaliser un :
--> copier une plage de cellules (nb de colonnes fixes et nb de ligne variables) depuis un classeur "source"
Règle : si la cellule de la colonne A est NON-VIDE alors copier de Ai à Zi

--> Coller cette plage vers la première ligne vide d'un classeur "cible".

Vous trouverez mes deux classeurs en pièce jointe.

Ci-dessous le code que je n'arrive pas à faire fonctionner (entre les ****) :

Code:
Private Sub CommandButton5_Click()
 
Dim Msg, Style, Title
 
Dim MaPlage As Range
Dim DernLigne As Long

 
DernLigne = Range("A" & Rows.Count).End(xlUp).Row
 
If IsFileOpen("C:\WINXP\Profiles\25003880\Desktop\Macro MR-GLS\BDD_MR.xlsx") Then
MsgBox "Fichier ouvert par un autre utilisateur" & Chr(13) & "Merci d'essayer plus tard"
Else
Workbooks.Open "C:\WINXP\Profiles\25003880\Desktop\Macro MR-GLS\BDD_MR.xlsx"
 
Workbooks("Mondial Relay Vtest").Worksheets("essai").Visible = True

'***************************************************************************************
With Workbooks("Mondial Relay Vtest").Worksheets("essai") 'Ceci est pour le classeur 1

Set MaPlage = Workbooks("Mondial Relay Vtest").Worksheets("essai").Range("A" & DernLigne & ":Z" & DernLigne)
MaPlage.Copy

End With

ActiveSheet.Paste Destination:=Workbooks("BDD_MR").Worksheets("Database").Range("A1") 'Copie vers le classeur 2
Application.CutCopyMode = False
'***************************************************************************************

Workbooks("Mondial Relay Vtest").Worksheets("essai").Visible = False
 
End If

End Sub


Le fichier source ne nomme "Mondial Relay Vtest2"
Le fichier cible se nomme BDD_MR

Merci par avance pour votre aide.
 

Pièces jointes

Re : copier/coller une plage variable d'un classeur à un autre

Re, j'ai trouvé pourquoi rien ne se passait avec mon code.
Après une petite modification, je n'arrive qu'a copier la première ligne.
La plage selectionnée est uniquement la première ligne ????

Code:
Private Sub CommandButton5_Click()
 
Dim Msg, Style, Title
 
Dim MaPlage As Range
Dim DernLigne As Long
Dim i As Integer
 
'************************************************************************************************
If IsFileOpen("C:\WINXP\Profiles\25003880\Desktop\Macro MR-GLS\BDD_MR.xlsx") Then
MsgBox "Fichier ouvert par un autre utilisateur" & Chr(13) & "Merci d'essayer plus tard"
Else
Workbooks.Open "C:\WINXP\Profiles\25003880\Desktop\Macro MR-GLS\BDD_MR.xlsx"
 
Workbooks("Mondial Relay Vtest").Worksheets("essai").Visible = True

'****************************************************************************************************

With Workbooks("Mondial Relay Vtest").Worksheets("essai") 'Ceci est pour le classeur 1
DernLigne = Range("A" & Rows.Count).End(xlUp).Row
Set MaPlage = Workbooks("Mondial Relay Vtest").Worksheets("essai").Range("A" & DernLigne & ":F" & DernLigne)
MaPlage.Copy

End With

ActiveSheet.Paste Destination:=Workbooks("BDD_MR").Worksheets("Database").Range("A1") 'Copie vers le classeur 2
'Application.CutCopyMode = False
'***************************************************************************************************

Workbooks("Mondial Relay Vtest").Worksheets("essai").Visible = False
 
End If

End Sub
 
Re : copier/coller une plage variable d'un classeur à un autre

Bonjour à tous,

je viens de modifier la ligne suivante
Code:
Set MaPlage = Workbooks("Mondial Relay Vtest").Worksheets("essai").Range("A2:F" & DernLigne)

Maintenant cela "copie-colle" la première et la 7 lignes -____-'

Bizarre !
 
- 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

Discussions similaires

  • Question Question
Microsoft 365 Cpier/coller en VBA
Réponses
7
Affichages
645
Réponses
5
Affichages
768
Retour