XL 2010 Atteindre les dernière ligne d'une feuillea

FCMLE44

XLDnaute Impliqué
Supporter XLD
Bonjour

A l'aide de la macro ci-dessous, je vais chercher des données d'un fichier pour les coller.
Avant de les coller, je souhaiterais qu'il atteigne la dernière ligne en colonne A

VB:
Sub FCMLE()
Dim Source As Workbook, Cible As Workbook, DLC As Long, DLS As Long, FC As Worksheet

Set Cible = ThisWorkbook
Set FC = Cible.Worksheets("DSN")

If DLC > 1 Then
   FC.Range("C2:AM" & DLC).ClearContents
End If

With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False 'n'autorise pas choix multiple
If .Show = -1 Then ' si fichier sélectionné
  Set Source = Workbooks.Open(.SelectedItems(1))

    With Source.ActiveSheet
    PremLigVide = Range("A65536").End(xlUp).Row + 1
     DLS = .Range("C" & Rows.Count).End(xlUp).Row
     .Range("C2:AM" & DLS).Copy FC.Range("A2")
     End With
    Source.Close
Else
    MsgBox "Aucun fichier sélectionné"
    Exit Sub
End If
End With
End Sub

Auriez-vous une idée ?

Cordialement
 

Lone-wolf

XLDnaute Barbatruc
Bonjour FCMLE

VB:
Dim plage As Range
    lig = FC.Range("A" & Rows.Count).End(xlUp).Row + 1

    With Source.ActiveSheet
        derlig = .Range("C" & Rows.Count).End(xlUp).Row
        Set plage = .Range(.Cells(derlig, "C"), .Cells(derlig, "AM"))
        plage.Copy FC.Range("A" & lig)
    End With
 

Lone-wolf

XLDnaute Barbatruc
Re

Bein, il me semble que c'est clair. :rolleyes:

Tu remplace ceci par le code que j'ai mis.

With Source.ActiveSheet
PremLigVide = Range("A65536").End(xlUp).Row + 1
DLS = .Range("C" & Rows.Count).End(xlUp).Row
.Range("C2:AM" & DLS).Copy FC.Range("A2")
End With
Source.Close
 

FCMLE44

XLDnaute Impliqué
Supporter XLD
cela donne ca

VB:
Sub FCMLE()
Dim Source As Workbook, Cible As Workbook, DLC As Long, DLS As Long, FC As Worksheet

Set Cible = ThisWorkbook
Set FC = Cible.Worksheets("DSN")

If DLC > 1 Then
   FC.Range("C2:AM" & DLC).ClearContents
End If
Dim plage As Range
    lig = FC.Range("A" & Rows.Count).End(xlUp).Row + 1

    With Source.ActiveSheet
        derlig = .Range("C" & Rows.Count).End(xlUp).Row
        Set plage = .Range(.Cells(derlig, "C"), .Cells(derlig, "AM"))
        plage.Copy FC.Range("A" & lig)
    End With

Else
    MsgBox "Aucun fichier sélectionné"
    Exit Sub
End If
End With
End Sub

Quand je le lance il bugge a Else MsgBox
 

Discussions similaires

Statistiques des forums

Discussions
312 799
Messages
2 092 241
Membres
105 305
dernier inscrit
Momone59