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