Bonjour à tous.
J'utilise une macro me permettant d'aller chercher plusieurs classeurs excel, et d'en importer certaines de leur données dans un nouveau classeur.
Tout fonctionne sauf qu'a certains endroit je rencontre un problème.
J'utilise 2 codes pour importer les données :
Le premier qui fonctionne très bien :
Et le deuxième qui fonctionne pas du tout car il m'importe 2 fois les données d'un même classeur.
Le problème se trouve donc à la ligne :
Pouvez vous me dire pourquoi ? Je ne trouve pas du tout ou est le problème :s
Merci d'avance.
J'utilise une macro me permettant d'aller chercher plusieurs classeurs excel, et d'en importer certaines de leur données dans un nouveau classeur.
Tout fonctionne sauf qu'a certains endroit je rencontre un problème.
J'utilise 2 codes pour importer les données :
Le premier qui fonctionne très bien :
Code:
Sub CopyExactitudes(classeurEntree As Workbook)
' 600T
Call CopyExactitude(classeurEntree, "A", "I28")
' 1200T
Call CopyExactitude(classeurEntree, "B", "I48")
' 1800T
Call CopyExactitude(classeurEntree, "C", "I68")
' 2400T
Call CopyExactitude(classeurEntree, "D", "I88")
End Sub
Sub CopyExactitude(classeurEntree As Workbook, destinationColumn As String, srcRange As String)
Dim source As Worksheet, destination As Worksheet
Set source = classeurEntree.Worksheets("Exactitude")
Set destination = classeurSortie.Worksheets("Exactitude")
destination.Range(destinationColumn & destination.Range(destinationColumn & destination.Rows.Count).End(xlUp).Row + 1) = source.Range(srcRange).Value
' Import date
destination.Range("E" & destination.Range(destinationColumn & source.Rows.Count).End(xlUp).Row) = Now
' Source file
destination.Range("F" & destination.Range(destinationColumn & source.Rows.Count).End(xlUp).Row) = classeurEntree.Path & "\" & classeurEntree.Name
End Sub
Et le deuxième qui fonctionne pas du tout car il m'importe 2 fois les données d'un même classeur.
Code:
Sub CopyCutOffs(classeurEntree As Workbook)
' 532
Call CopyCutOff(classeurEntree, "Laser1", "A")
' 638
Call CopyCutOff(classeurEntree, "Laser2", "B")
' 785
Call CopyCutOff(classeurEntree, "Laser3", "C")
End Sub
Sub CopyCutOff(classeurEntree As Workbook, laser As String, destinationColumn As String)
Dim rowNumber As Range
Dim source As Worksheet, destination As Worksheet
Set source = classeurEntree.Worksheets("Cut_Off")
Set destination = classeurSortie.Worksheets("Cut_Off")
' Numero de ligne du lambda correspondant
Set rowNumber = source.Range("B:B").Cells.Find(What:=laser)
destination.Range(destinationColumn & destination.Range(destinationColumn & source.Rows.Count).End(xlUp).Row + 1) = source.Range("C" & rowNumber.Row).Value
' Import date
destination.Range("D" & destination.Range(destinationColumn & source.Rows.Count).End(xlUp).Row + 1) = Now
' Source file
destination.Range("E" & destination.Range(destinationColumn & source.Rows.Count).End(xlUp).Row + 1) = classeurEntree.Path & "\" & classeurEntree.Name
End Sub
Le problème se trouve donc à la ligne :
Code:
' Numero de ligne du lambda correspondant
Set rowNumber = source.Range("B:B").Cells.Find(What:=laser)
destination.Range(destinationColumn & destination.Range(destinationColumn & source.Rows.Count).End(xlUp).Row + 1) = source.Range("C" & rowNumber.Row).Value
Pouvez vous me dire pourquoi ? Je ne trouve pas du tout ou est le problème :s
Merci d'avance.