Comparaison sur plusieurs feuilles recursivement
Bonjour le forum
J' ai trouvé beaucoup de sujet de comparaison mais qui ne vont pas avec ce que je veux faire . Sur un classeur de 8 Onglets, je voudrais faire une comparaison recursive je m' explique.Demarré la comparaison a partir du premier onglet avec comme plage A2-H4200, sur toutes les autres feuilles et sur la feuille Recap inscrire une phrase du genre:
feuille1 - feulle2 Ligne 10 en commun
Ensuite continuer la comparasion en repartant du deuxième onglet sur toutes les autres feuilles et repeter cette compararsion jusqu' au dernier onglet sauf la feuille Recap.
Y a t il une possiblite de faire ce ype de comparaison ?
Merci d' avance pour toute aide
Valo
Salut Valo,
Ci-joint un fichier qui devrait répondre à ta demande par contre à toi de le modifier pour coller parfaitement à ton fichier et ce que tu veux vraiment avoir en sortie et comparer
Courage
ECG
Edit: ci-dessous le code épurer pour ceux qui voudrait voir le code mais qui n'ouvre jamais les fichiers par sécurité, il n'est pas très long donc je me permets de le mettre:
Sub comparaison()
Dim BALAYAGE_LIGNE As Integer
Dim BALAYAGE_COLONNE As Integer
Dim STOCK_LIGNE_RECAP As Integer
Dim NUMERO_ONGLET_EN_COURS As Integer
Dim NUMERO_ONGLET_SUIVANT As Integer
STOCK_LIGNE_RECAP = 1
Sheets("RECAP").Columns("A:A").ClearContents
For NUMERO_ONGLET_EN_COURS = 1 To Worksheets.Count - 1
Select Case Worksheets(NUMERO_ONGLET_EN_COURS).Name
Case "RECAP"
'on ne fait rien
Case Else
For NUMERO_ONGLET_SUIVANT = NUMERO_ONGLET_EN_COURS + 1 To Worksheets.Count
Select Case Worksheets(NUMERO_ONGLET_SUIVANT).Name
Case "RECAP"
'on ne fait rien
Case Else
'dans mon exemple je compare que des lignes 2 à 4 et des colonnes 1 à 2
For BALAYAGE_LIGNE = 2 To 4
For BALAYAGE_COLONNE = 1 To 2
If (Sheets(NUMERO_ONGLET_EN_COURS).Cells(BALAYAGE_LIGNE, BALAYAGE_COLONNE).Value = _
Sheets(NUMERO_ONGLET_SUIVANT).Cells(BALAYAGE_LIGNE, BALAYAGE_COLONNE).Value) And _
Sheets(NUMERO_ONGLET_EN_COURS).Cells(BALAYAGE_LIGNE, BALAYAGE_COLONNE).Value <> "" Then
Sheets("RECAP").Cells(STOCK_LIGNE_RECAP, 1).Value = Worksheets(NUMERO_ONGLET_EN_COURS).Name _
& "-" & Worksheets(NUMERO_ONGLET_SUIVANT).Name & " Ligne:" & BALAYAGE_LIGNE & _
", colonne:" & BALAYAGE_COLONNE & " en commun"
STOCK_LIGNE_RECAP = STOCK_LIGNE_RECAP + 1
End If
Next
Next
End Select
Next
End Select
Next
End Sub
Bonjour à toi ExcelCoreGameet au forum
Merci pour ta réponse à ma question, j' ai testé ton fichier et il est conforme à ce que je veux obtenir, je modifierai en
consequence le code pour mon fichier.
Valo
rock'n'roll
Parfait si cela répond à ta demande
A plus sur le forum
ECG