VBA import de données et coller à la suite d'une feuille

Bonjour à tous,

Par avance, je vous remercie beaucoup de votre aide

Je bloque sur un simple bout de code qui me permettrait de coller les valeurs que j'importe à la suite des données existantes d'une feuille de mon classeur :

Je suis bloqué à ce moment de la macro :

IRow correspond à la dernière ligne non vide de la feuille. Et en conséquence, je souhaite que le collage de la source (plage "O7:AF47" de l'autre fichier) se colle à la suite. Comment puis-je écrire cela ?

lRow = Cells(Rows.Count, 1).End(xlUp).Row

oShCible.Range(lRow).Value = oShSource.Range("O7:AF47").Value

Ci-après la macro permettant de réaliser cette import de donnée

 Sub import_data()

    Dim sFichier As String 'chemin du fichier source
    Dim oWBSource As Workbook 'fichier source
    Dim oShSource As Worksheet 'onglet source
    Dim oShCible As Worksheet 'onglet où on récupère
    Dim emplacement As String
    emplacement = ThisWorkbook.Sheets("Config").Range("D50").Value
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Application.CalculateBeforeSave = False
    Application.Calculation = xlCalculationManual
    Lig_Deb = 1
    sFichier = emplacement

    'vérif existe
    If Dir(sFichier) = "" Then
        MsgBox "Fichier absent : " & vbCrLf & sFichier, vbExclamation
        Exit Sub
    End If

    Set oShCible = Worksheets("DATA") 'destination
    Set oWBSource = Workbooks.Open(sFichier, , True) 'ouvre lecture seule
    Set oShSource = Worksheets("TCD") 'onglet source

    'destination - source
    lRow = Cells(Rows.Count, 1).End(xlUp).Row
    oShCible.Range(lRow).Value = oShSource.Range("O7:AF47").Value

    oWBSource.Close True 'fermeture sans enregistrer

    Set oShSource = Nothing
    Set oWBSource = Nothing
    Set oShCible = Nothing

   Application.ScreenUpdating = True
   Application.DisplayAlerts = True

End Sub

Bonjour

Remplace :

oShCible.Range(lRow).Value = oShSource.Range("O7:AF47").Value

par :

oShSource.Range("O7:AF47").copy oShCible.cells(lRow+1,1)

Et si cela ne va pas, joins ton fichier.

Bye !

génial !

Merci

Rechercher des sujets similaires à "vba import donnees coller suite feuille"