Microsoft 365 Problème macro copie/colle

AlexAGEMS

XLDnaute Nouveau
Bonjour,

Voilà le projet : je souhaite récupérer les données d'un classeur ("BASE RELANCE") pour les coller dans un autre (onglet "BASE RELANCE" du fichier RELANCE POUR ESAAI V2) d'où je lance ma macro (macro 2)
Mon problème : ma macro ouvre bien le bon fichier("BASE RELANCE"), mais ça s'arrête là... aucune donnée n'est copiée dans le fichier ("RELANCE pour essai V2").
Auriez-vous une idée pour me débloquer ?

Merci d'avance !
Alex
 

Pièces jointes

  • BASE RELANCE.xlsx
    759.1 KB · Affichages: 3
  • RELANCES pour essais V2.xlsm
    571.9 KB · Affichages: 3

vgendron

XLDnaute Barbatruc
Bonjour

un essai ici:
VB:
Sub Macro2()
'
' Macro2 Macro
' Importe la BASE RELANCE
'
Application.DisplayAlerts = False
' Touche de raccourci du clavier: Ctrl+Shift+B
'
    Dim wkA As Workbook, wkB As Workbook
    Dim chemin As String, classeur As String, fichier As String
    Dim DernLigne As Long, DernColonne As Integer

    Set wkA = ActiveWorkbook
'Ouvre le fichier voulu
    With Sheets("Mode d'Emploi")
        chemin = .Range("D11") ' la partie fixe
        classeur = .Range("D12")  ' pour récupérer le nom du classeur
    End With
    fichier = chemin & classeur
    Workbooks.Open fichier
'Copie le contenu du fichier ouvert
    Set wkB = ActiveWorkbook
    With wkB.Sheets("Feuil1")
        .UsedRange.Offset(1, 0).Copy 'on copie toute la feuille SAUF la ligne d'entete
'        DernLigne = .Range("A" & .Rows.Count).End(xlUp).Row
'        DernColonne = .Cells(1, .Cells.Columns.Count).End(xlToLeft).Column
'        .Range(Cells(1, 1), .Cells(DernLigne, DernColonne)).Select
'        Selection.Copy
    End With
'Colle le contenu du fichier ouvert dans l'onglet BASE RELANCE de mon fichier
    wkA.Activate
    Sheets("BASE RELANCE").Range("A2").PasteSpecial Paste:=xlPasteValues
'ferme le classeur ouvert par la macro
    Workbooks(classeur).Close True
Application.DisplayAlerts = True
End Sub
 

AlexAGEMS

XLDnaute Nouveau
Bonjour

un essai ici:
VB:
Sub Macro2()
'
' Macro2 Macro
' Importe la BASE RELANCE
'
Application.DisplayAlerts = False
' Touche de raccourci du clavier: Ctrl+Shift+B
'
    Dim wkA As Workbook, wkB As Workbook
    Dim chemin As String, classeur As String, fichier As String
    Dim DernLigne As Long, DernColonne As Integer

    Set wkA = ActiveWorkbook
'Ouvre le fichier voulu
    With Sheets("Mode d'Emploi")
        chemin = .Range("D11") ' la partie fixe
        classeur = .Range("D12")  ' pour récupérer le nom du classeur
    End With
    fichier = chemin & classeur
    Workbooks.Open fichier
'Copie le contenu du fichier ouvert
    Set wkB = ActiveWorkbook
    With wkB.Sheets("Feuil1")
        .UsedRange.Offset(1, 0).Copy 'on copie toute la feuille SAUF la ligne d'entete
'        DernLigne = .Range("A" & .Rows.Count).End(xlUp).Row
'        DernColonne = .Cells(1, .Cells.Columns.Count).End(xlToLeft).Column
'        .Range(Cells(1, 1), .Cells(DernLigne, DernColonne)).Select
'        Selection.Copy
    End With
'Colle le contenu du fichier ouvert dans l'onglet BASE RELANCE de mon fichier
    wkA.Activate
    Sheets("BASE RELANCE").Range("A2").PasteSpecial Paste:=xlPasteValues
'ferme le classeur ouvert par la macro
    Workbooks(classeur).Close True
Application.DisplayAlerts = True
End Sub
Merci beaucoup vgendron, mais toujours le même problème malheureusement...
Je serais évidemment preneur d'une autre idée.
Merci !!
 

vgendron

XLDnaute Barbatruc
Bonjour
plusieurs choses à vérifier de ton coté
le chemin d'accès à ton fichier est il correct ?
les fichiers que tu as postés sont ils exactement les mêmes que tu utilises? parce que de mon coté, la solution proposée fonctionne.
 

Discussions similaires

Statistiques des forums

Discussions
312 305
Messages
2 087 084
Membres
103 459
dernier inscrit
Arnocal