Bonjour,
Je dois réaliser une macro sous EXCEL qui permette de comparer 2 colonnes de 2 feuilles appartenant à des classeurs différents.
Le problème est que je dois dans un des classeur déterminer les feuilles qui m'intéressent (car toutes ne sont pas utiles). Donc je parcours les feuilles d'un classeur et dès que je trouve celle qui correspond alors je compare la colonne déterminée par "Designation" avec celle de l'autre feuille.
Le pb est que je ne sais pas parcourir des feuilles sur un classeur donc j'ai une erreur à ce niveau que je ne sais pas résoudre (c'est au-delà de mes compétences)...
Voici ma macro en VBA :
Sub Designation_Systeme_Manquant()
Dim Classeur1 As Workbook
Dim Classeur2 As Workbook
Set Classeur1 = Workbooks("leaks index.xls")
Set Classeur2 = Workbooks("Calcul_compare+_Girassol.xls")
Dim Feuille As Worksheet
Dim F1 As Worksheet
Dim F As Worksheet
Set F1 = Classeur1.Worksheets("all_type")
Dim lig As Integer
Dim col As Integer
Dim colonneDesign As Integer
Dim ligneDesign As Integer
Dim lig1 As Integer
For Each Feuille In Classeur2.Worksheets
'détection de la colonne contenant les intitulés des systèmes
For lig = 1 To 10
For col = 1 To 10
If Cells(lig, col).Value = "Designation" Then
colonneDesign = col
ligneDesign = lig + 2
End If
Next col
Next lig
' détection des systèmes manquant dans leaks index
While ligneDesign <= 200
For lig1 = 7 To 163
If Feuille.Cells(ligneDesign, colonneDesign).Value = F1.Cell(lig1, 2).Value Then -->l'erreur est à ce niveau
ligneDesign = ligneDesign + 1
End If
If lig1 = 163 Then
lig1 = lig1 + 1
While F1.Cells(lig1, 2).Value <> ""
lig1 = lig1 + 1
Wend
If F1.Cells(lig1, 2).Value = "" Then
F1.Cells(lig1, 2).Value = Feuille.Cells(ligneDesign, colonneDesign).Value
End If
End If
Next lig1
Wend
Next Feuille
End Sub
L'exécution me dit :
"erreur d'exécution '1004':
Erreur définie par l'application ou par l'objet "
Merci
Je dois réaliser une macro sous EXCEL qui permette de comparer 2 colonnes de 2 feuilles appartenant à des classeurs différents.
Le problème est que je dois dans un des classeur déterminer les feuilles qui m'intéressent (car toutes ne sont pas utiles). Donc je parcours les feuilles d'un classeur et dès que je trouve celle qui correspond alors je compare la colonne déterminée par "Designation" avec celle de l'autre feuille.
Le pb est que je ne sais pas parcourir des feuilles sur un classeur donc j'ai une erreur à ce niveau que je ne sais pas résoudre (c'est au-delà de mes compétences)...
Voici ma macro en VBA :
Sub Designation_Systeme_Manquant()
Dim Classeur1 As Workbook
Dim Classeur2 As Workbook
Set Classeur1 = Workbooks("leaks index.xls")
Set Classeur2 = Workbooks("Calcul_compare+_Girassol.xls")
Dim Feuille As Worksheet
Dim F1 As Worksheet
Dim F As Worksheet
Set F1 = Classeur1.Worksheets("all_type")
Dim lig As Integer
Dim col As Integer
Dim colonneDesign As Integer
Dim ligneDesign As Integer
Dim lig1 As Integer
For Each Feuille In Classeur2.Worksheets
'détection de la colonne contenant les intitulés des systèmes
For lig = 1 To 10
For col = 1 To 10
If Cells(lig, col).Value = "Designation" Then
colonneDesign = col
ligneDesign = lig + 2
End If
Next col
Next lig
' détection des systèmes manquant dans leaks index
While ligneDesign <= 200
For lig1 = 7 To 163
If Feuille.Cells(ligneDesign, colonneDesign).Value = F1.Cell(lig1, 2).Value Then -->l'erreur est à ce niveau
ligneDesign = ligneDesign + 1
End If
If lig1 = 163 Then
lig1 = lig1 + 1
While F1.Cells(lig1, 2).Value <> ""
lig1 = lig1 + 1
Wend
If F1.Cells(lig1, 2).Value = "" Then
F1.Cells(lig1, 2).Value = Feuille.Cells(ligneDesign, colonneDesign).Value
End If
End If
Next lig1
Wend
Next Feuille
End Sub
L'exécution me dit :
"erreur d'exécution '1004':
Erreur définie par l'application ou par l'objet "
Merci