bonjour,
je parcours actuellement tous les classeurs se trouvant dans un dossier et je vérifie dans chacun des onglet si je trouve une valeur (entrée en variable).
Mon code va bien m'ouvrir les classeurs, mais il ne trouve pas toujours la valeur désirée dans les onglets et la recopie dans le classeur de destination ne se fait pas comme je le voudrais, c'est à dire à la suite.
Je vous joins le code sur lequel je travaille actuellement en espérant que quelqu'un puisse repérer une éventuelle faille.
Function trouve()
Windows("classeuracompiler").Activate
Sheets("Feuille2").Select
Range("A10").Activate
societe = ActiveCell.Value
End Function
Sub essai2()
trouve
Dim wb As Workbook, classeurDestination As Workbook
Dim Ws As Worksheet
Dim fichier As String, chemin As String
Dim celluletrouvee As Range
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set classeurDestination = ThisWorkbook
chemin = "C:\..."
fichier = Dir(chemin & "*.xls")
Do While fichier <> ""
Set wb = Workbooks.Open(chemin & fichier)
For Each Ws In wb.Worksheets
Set celluletrouvee = Range("A1:O300").Find(societe, lookat:=xlWhole)
If celluletrouvee Is Nothing Then
GoTo suite
Else
celluletrouvee.CurrentRegion.Copy
Windows("classeuracompiler.xls").Activate
Sheets("Feuille1").Activate
Range("C1").End(xlDown).Activate
ActiveCell.Offset(1, 0).Activate
ActiveSheet.Paste
End If
GoTo suite
suite:
Next Ws
Application.ScreenUpdating = True
Application.DisplayAlerts = True
wb.Close False
Set wb = Nothing
Set classeurDestination = Nothing
fichier = Dir
Loop
End Sub
Merci pour votre aide
mic
je parcours actuellement tous les classeurs se trouvant dans un dossier et je vérifie dans chacun des onglet si je trouve une valeur (entrée en variable).
Mon code va bien m'ouvrir les classeurs, mais il ne trouve pas toujours la valeur désirée dans les onglets et la recopie dans le classeur de destination ne se fait pas comme je le voudrais, c'est à dire à la suite.
Je vous joins le code sur lequel je travaille actuellement en espérant que quelqu'un puisse repérer une éventuelle faille.
Function trouve()
Windows("classeuracompiler").Activate
Sheets("Feuille2").Select
Range("A10").Activate
societe = ActiveCell.Value
End Function
Sub essai2()
trouve
Dim wb As Workbook, classeurDestination As Workbook
Dim Ws As Worksheet
Dim fichier As String, chemin As String
Dim celluletrouvee As Range
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set classeurDestination = ThisWorkbook
chemin = "C:\..."
fichier = Dir(chemin & "*.xls")
Do While fichier <> ""
Set wb = Workbooks.Open(chemin & fichier)
For Each Ws In wb.Worksheets
Set celluletrouvee = Range("A1:O300").Find(societe, lookat:=xlWhole)
If celluletrouvee Is Nothing Then
GoTo suite
Else
celluletrouvee.CurrentRegion.Copy
Windows("classeuracompiler.xls").Activate
Sheets("Feuille1").Activate
Range("C1").End(xlDown).Activate
ActiveCell.Offset(1, 0).Activate
ActiveSheet.Paste
End If
GoTo suite
suite:
Next Ws
Application.ScreenUpdating = True
Application.DisplayAlerts = True
wb.Close False
Set wb = Nothing
Set classeurDestination = Nothing
fichier = Dir
Loop
End Sub
Merci pour votre aide
mic