Ne copier que les valeurs d'une cellule vers une autre feuil
Bonjour,
Je voudrais copier les valeurs des cellules d'un classeur excel v ers un autre classeur excel.
Mais cela copie pas
Private Sub CmdBtnImport_Click()
Dim J As Long, EndLine As Long
Dim FichierCodir As String, CheminCodir As String, EndTab As String
Dim Ws As Worksheet
Range("A2:XFD1048576").Cells.ClearContents
Set Ws = ThisWorkbook.Sheets("DSIX_synthese_CODIR_Semaine")
With Sheets("Param")
For J = 2 To .Range("A" & Rows.Count).End(xlUp).Row
FichierCodir = .Range("A" & J)
CheminCodir = .Range("B" & J) & FichierCodir
With Workbooks.Open(Filename:=CheminCodir)
' Copie les données de l'onglet Feuil1 dans CE fichier, onglet DSIX_synthese_CODIR_Semaine
EndTab = .Sheets("Feuil1").Range("A2").SpecialCells(xlCellTypeLastCell).Address
EndLine = Ws.Range("B" & Rows.Count).End(xlUp).Row + 1
'.Sheets("Feuil1").Range("A2", EndTab).Copy Ws.Range("A" & EndLine)
'Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
.Sheets("Feuil1").Range("A2", EndTab).Select
Selection.Copy
Ws.Range ("A" & EndLine)
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
.Close savechanges:=False ' Ferme sans enregistrer
End With
Next J
End With
' ActiveSheet.Range("$A$1:$G$1514").AutoFilter Field:=5, Criteria1:="oui"
End Sub
Merci
Bonjour,
voici la solution que j'ai trouvée .
Sub CmdBtnImport_Click()
Dim J As Long, EndLine As Long
Dim FichierCodir As String, CheminCodir As String, EndTab As String
Dim Ws As Worksheet
Range("A2:XFD1048576").Cells.ClearContents
Set Ws = ThisWorkbook.Sheets("DSIX_synthese_CODIR_Semaine")
With Sheets("Param")
For J = 2 To .Range("A" & Rows.Count).End(xlUp).Row
FichierCodir = .Range("A" & J)
CheminCodir = .Range("B" & J) & FichierCodir
With Workbooks.Open(Filename:=CheminCodir)
' Copie les données de l'onglet Feuil1 dans CE fichier, onglet DSIX_synthese_CODIR_Semaine
EndTab = .Sheets("Feuil1").Range("A2").SpecialCells(xlCellTypeLastCell).Address
EndLine = Ws.Range("B" & Rows.Count).End(xlUp).Row + 1
'.Sheets("Feuil1").Range("A2", EndTab).Copy Ws.Range("A" & EndLine)
'Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Windows(FichierCodir).Activate
Sheets("Feuil1").Range("A2", EndTab).Select
Selection.Copy
Windows("Codir_Lundi.xlsm").Activate
Range("A" & EndLine).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
.Close savechanges:=False ' Ferme sans enregistrer
End With
Next J
End With