GoRichie
XLDnaute Nouveau
Salut a tous,
Voila j'ai un probleme tous bete mais qui me bloque depuis pas mal de temps.
Je resume le but de ma fonction (En passant ca depannerait certain) : Ma fonction sert a comparer deux feuilles d'un meme classeur excel. Les deux feuilles ont les memes colonnes, et sont censes etre identiques, mais il peut arriver qu'il subsiste des differences, et ma fonction permet de reperer ces differences et de les faire apparaitre en surlignant les cellules differentes dans une des 2 feuilles. Voila ma fonction marche pour un cas particulier
Function CompareTibo(Feuille1 As String, Feuille2 As String)
Dim colonne(10) As String
colonne(0) = "A"
colonne(1) = "B"
colonne(2) = "C"
colonne(3) = "D"
colonne(4) = "G"
colonne(5) = "H"
colonne(6) = "K"
colonne(7) = "L"
colonne(8) = "O"
colonne(9) = "P"
colonne(10) = "S"
Dim i As Integer
Dim A As Integer
For A = 0 To 10
i = 1
While i < 26
If Worksheets(Feuille1).Range(colonne(A) + CStr(i)).Value <> Worksheets(Feuille2).Range(colonne(A) + CStr(i)).Value Then
Worksheets(Feuille2).Activate
Worksheets(Feuille2).Range(colonne(A) + CStr(i)).Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End If
i = i + 1
Wend
Next A
End Function
Voila ma fonction marche pour un cas particulier, lorsque je met "DP1" et "DP2" (nom des 2 feuilles) comme arguments de ma fonction, mais le hic c'est que je souhaite que ma fonction soit plus generale et qu'il marche pour n'importe quelle feuille de mon classeur du coup jai remplace "DP1" et "DP2" par feuille1 et feuille2 deux attributs de type String que je demanderais a l'utilisateur de rentrer les valeurs. Apres execution, ma fonction ne marche plus, je pense que c'est du au fait que Worksheets ne prend pas de String en argument, mais je ne suis pas sur.
Je suis persuade que la solution est tres simple, mais j'arrive pas a me desembourber. Si une bonne ame a une idee ca serait sympa de me depanner. Mille mercis.
Voila j'ai un probleme tous bete mais qui me bloque depuis pas mal de temps.
Je resume le but de ma fonction (En passant ca depannerait certain) : Ma fonction sert a comparer deux feuilles d'un meme classeur excel. Les deux feuilles ont les memes colonnes, et sont censes etre identiques, mais il peut arriver qu'il subsiste des differences, et ma fonction permet de reperer ces differences et de les faire apparaitre en surlignant les cellules differentes dans une des 2 feuilles. Voila ma fonction marche pour un cas particulier
Function CompareTibo(Feuille1 As String, Feuille2 As String)
Dim colonne(10) As String
colonne(0) = "A"
colonne(1) = "B"
colonne(2) = "C"
colonne(3) = "D"
colonne(4) = "G"
colonne(5) = "H"
colonne(6) = "K"
colonne(7) = "L"
colonne(8) = "O"
colonne(9) = "P"
colonne(10) = "S"
Dim i As Integer
Dim A As Integer
For A = 0 To 10
i = 1
While i < 26
If Worksheets(Feuille1).Range(colonne(A) + CStr(i)).Value <> Worksheets(Feuille2).Range(colonne(A) + CStr(i)).Value Then
Worksheets(Feuille2).Activate
Worksheets(Feuille2).Range(colonne(A) + CStr(i)).Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End If
i = i + 1
Wend
Next A
End Function
Voila ma fonction marche pour un cas particulier, lorsque je met "DP1" et "DP2" (nom des 2 feuilles) comme arguments de ma fonction, mais le hic c'est que je souhaite que ma fonction soit plus generale et qu'il marche pour n'importe quelle feuille de mon classeur du coup jai remplace "DP1" et "DP2" par feuille1 et feuille2 deux attributs de type String que je demanderais a l'utilisateur de rentrer les valeurs. Apres execution, ma fonction ne marche plus, je pense que c'est du au fait que Worksheets ne prend pas de String en argument, mais je ne suis pas sur.
Je suis persuade que la solution est tres simple, mais j'arrive pas a me desembourber. Si une bonne ame a une idee ca serait sympa de me depanner. Mille mercis.