Dim Source As Workbook, no_ligne As Integer
Set Source = Range("T2")
Nb : Il y a certainement beaucoup d’autres problèmes, n’hésitez pas à me les expliciter (et à me casser les dents).
J'ai mis ton code entre balises code. Veille s'il te plait à prendre dorénavant ce soin toi-même.
Modifié par ucfoutu le 6/07/2016 à 11:17
Sheets("tab1").Range("A" & no_ligne) = Source.Sheets("Sheet1").Range("B6")
Workbooks("Classeur_untel").worksheets("feuille_unetelle).range(...).value = Workbooks("Classeur_autrel").worksheets("feuille_autre).range(...).value
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionDim Source As Workbook, feuille_source As Worksheet, no_ligne As Long
Dim feuille_desti As Worksheet
Set feuille_desti = ThisWorkbook.Worksheets("Tab1")
Set Source = Workbooks.Open(feuille_desti.Range("S2").Value)
Set feuille_source = Source.Worksheets("Sheet1")
With feuille_desti
no_ligne = .Range("A" & Rows.Count).End(xlUp).Row + 1
MsgBox no_ligne
array_desti = Array("A", "C", "D")
array_source = Array(7, 3, 8)
For i = 0 To UBound(array_desti)
.Range(array_desti(i) & no_ligne).Value = feuille_source.Range("B" & array_source(i)).Value
Next
End With
If Source.Sheets("Sheet1").Range("A8") = "Currency" Then
'blabla
Else
'blabla
End If
C'est certainement tout bête mais je n'arrive pas à enlever ce problème de 'Subscript out of range'.
J'ai même essayé avec .Value,
Sub Transcription()
Dim Source As Workbook, no_ligne As Integer
Set Source = Workbooks.Open(Sheets("tab1").Range("S2").Value)
no_ligne = 1
If Source.Sheets("Sheet1").Range("A8") = "Currency" Then
While Not IsEmpty(Cells(no_ligne, 1))
no_ligne = no_ligne + 1
Wend
Sheets("tab1").Range("A" & no_ligne) = Source.Sheets("Sheet1").Range("B6")
Sheets("tab1").Range("C" & no_ligne) = Source.Sheets("Sheet1").Range("B4")
Sheets("tab1").Range("D" & no_ligne) = Source.Sheets("Sheet1").Range("B2")
Range("E" & no_ligne) = "LCD"
Sheets("tab1").Range("G" & no_ligne) = Source.Sheets("Sheet1").Range("B8")
Sheets("tab1").Range("H" & no_ligne) = Source.Sheets("Sheet1").Range("B7")
Sheets("tab1").Range("I" & no_ligne) = Source.Sheets("Sheet1").Range("B21")
Sheets("tab1").Range("J" & no_ligne) = Source.Sheets("Sheet1").Range("B27")
Sheets("tab1").Range("M" & no_ligne) = Source.Sheets("Sheet1").Range("B3")
Sheets("tab1").Range("O" & no_ligne) = Source.Sheets("Sheet1").Range("B18")
Sheets("tab1").Range("P" & no_ligne) = Source.Sheets("Sheet1").Range("B22")
Else
While Not IsEmpty(Cells(no_ligne, 1))
no_ligne = no_ligne + 1
Wend
Sheets("tab1").Range("A" & no_ligne) = Source.Sheets("Sheet1").Range("B4")
Sheets("tab1").Range("D" & no_ligne) = Source.Sheets("Sheet1").Range("B2")
Range("E" & no_ligne) = "ESC"
Sheets("tab1").Range("G" & no_ligne) = Source.Sheets("Sheet1").Range("B5")
Sheets("tab1").Range("H" & no_ligne) = Source.Sheets("Sheet1").Range("B6")
Sheets("tab1").Range("I" & no_ligne) = Source.Sheets("Sheet1").Range("B13")
If IsEmpty(Cells(no_ligne, 2)) Then
Sheets("tab1").Range("K" & no_ligne) = Source.Sheets("Sheet1").Range("B17")
Else
Sheets("tab1").Range("K" & no_ligne) = Source.Sheets("Sheet1").Range("B16")
End If
Sheets("tab1").Range("L" & no_ligne) = Source.Sheets("Sheet1").Range("B18")
Sheets("tab1").Range("M" & no_ligne) = Source.Sheets("Sheet1").Range("B3")
Sheets("tab1").Range("P" & no_ligne) = Source.Sheets("Sheet1").Range("B19")
End If
End Sub
no_ligne = Sheets("tab1").Cells(Rows.count, "A").end(xlup).row + 1