tomalstom64
XLDnaute Nouveau
Bonjour à tous,
Je travaille sur 2 fichiers excels en vba: Baselog.xlsm et tache_corrective.xls
Dans tache_corrective il y a environ une soixantaine de feuilles dont une qui se nomme "sommaire". Dans celle-ci la colonne E contient une soixantaine de liens menant à chaque feuille de ce fichier. Le but de la macro est de pouvoir copier les cellules J51, J52, J53 et J54 des soixantes feuilles dans les cellules AY, BA, FZ et GB de la feuille nommée Baselog du fichier Baselog.xlsm à condition que la colonne FC ou 160 du fichier Baselog.xlsm ne soit pas vide.
J'ai un souci avec mon code au niveau de la ligne en gras je ne sais plus quoi faire... L'erreur d'exécution 1004 apparaît sur la ligne en gras de mon code....
option explicit
Sub Remplissage_BaseLog()
Dim valeur As String
Dim ChDir As String
Dim I As Integer
Dim H As Integer
Dim K As Integer
Dim L As Integer
Sheets("parametrage").Select 'Sélection de la feuille paramétrage
valeur = Range("C22").Value 'Valeur vaut la cellule contenant le chemin d'accès du fichier
ChDir = Range("B22").Value
ActiveWorkbook.OpenLinks Range("B22").Value & valeur 'Le fichier de la cellule valeur est maintenant ouvert
Workbooks("BaseLog.xlsm").Activate
Sheets("BaseLog").Activate
For L = 1 To 5000
If (Cells(L, 160).Value <> "") Then 'Si la colonne FC n'est pas vide
'Activation du fichier Maintenance corrective
Workbooks("PP-TAB-S410-0014 tache corrective coffre POC-PO F en cours.xls").Activate
I = 2
For I = 2 To Worksheets.Count
Worksheets(I).Activate
H = 32
K = 9
For H = 32 To 10000
For K = 9 To 10000
If Sheets(I).Cells(H, K).Value = "Outillage" Then
Cells(H + 1, K).Value = Sheets("BaseLog").Range("AY" & L).Value
Cells(H + 2, K).Value = Sheets("BaseLog").Range("BA" & L).Value
Cells(H + 3, K).Value = Sheets("BaseLog").Range("FZ" & L).Value
Cells(H + 4, K).Value = Sheets("BaseLog").Range("GB" & L).Value
End If
Next K
K = K + 1
Next H
H = H + 1
Next I
Else
L = L + 1
End If
Next L
End Sub
Merci à tous pour votre aide
Je travaille sur 2 fichiers excels en vba: Baselog.xlsm et tache_corrective.xls
Dans tache_corrective il y a environ une soixantaine de feuilles dont une qui se nomme "sommaire". Dans celle-ci la colonne E contient une soixantaine de liens menant à chaque feuille de ce fichier. Le but de la macro est de pouvoir copier les cellules J51, J52, J53 et J54 des soixantes feuilles dans les cellules AY, BA, FZ et GB de la feuille nommée Baselog du fichier Baselog.xlsm à condition que la colonne FC ou 160 du fichier Baselog.xlsm ne soit pas vide.
J'ai un souci avec mon code au niveau de la ligne en gras je ne sais plus quoi faire... L'erreur d'exécution 1004 apparaît sur la ligne en gras de mon code....
option explicit
Sub Remplissage_BaseLog()
Dim valeur As String
Dim ChDir As String
Dim I As Integer
Dim H As Integer
Dim K As Integer
Dim L As Integer
Sheets("parametrage").Select 'Sélection de la feuille paramétrage
valeur = Range("C22").Value 'Valeur vaut la cellule contenant le chemin d'accès du fichier
ChDir = Range("B22").Value
ActiveWorkbook.OpenLinks Range("B22").Value & valeur 'Le fichier de la cellule valeur est maintenant ouvert
Workbooks("BaseLog.xlsm").Activate
Sheets("BaseLog").Activate
For L = 1 To 5000
If (Cells(L, 160).Value <> "") Then 'Si la colonne FC n'est pas vide
'Activation du fichier Maintenance corrective
Workbooks("PP-TAB-S410-0014 tache corrective coffre POC-PO F en cours.xls").Activate
I = 2
For I = 2 To Worksheets.Count
Worksheets(I).Activate
H = 32
K = 9
For H = 32 To 10000
For K = 9 To 10000
If Sheets(I).Cells(H, K).Value = "Outillage" Then
Cells(H + 1, K).Value = Sheets("BaseLog").Range("AY" & L).Value
Cells(H + 2, K).Value = Sheets("BaseLog").Range("BA" & L).Value
Cells(H + 3, K).Value = Sheets("BaseLog").Range("FZ" & L).Value
Cells(H + 4, K).Value = Sheets("BaseLog").Range("GB" & L).Value
End If
Next K
K = K + 1
Next H
H = H + 1
Next I
Else
L = L + 1
End If
Next L
End Sub
Merci à tous pour votre aide