Trouver les différences...

  • Initiateur de la discussion Nico
  • Date de début
N

Nico

Guest
Bonjour à tous,

Je n'ai pas réussi à trouver mon bonheur dans les archives alors je me lance dans un nouveau sujet...

Je cherche une macro qui me permettrait de connaitre le nombre de différences entre la colonne A et B.

Si la valeur en colA est dans col B alors rien
Sinon si la valeur en ColA n'est pas dans B alors afficher le nombre de valeurs en ColA qui ne sont pas en ColB
Et si une valeur en ColB n'est pas en ColA alors afficher le nombre de valeurs en ColB qui ne sont pas en colA.

L'idéal serait une même boîte de dialogue pour les 2 conditions d'affichage.

Voilà un bout de fichier qui contient un extrait qui peut s'étendre en théorie jusqu'à l'infini (et au-delààààààààààà !) :silly:

Merci d'avance.

[file name=HelpNico.zip size=5014]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/HelpNico.zip[/file]
 

Pièces jointes

  • HelpNico.zip
    4.9 KB · Affichages: 17

JC de Lorient

XLDnaute Impliqué
salut
essayes avec ce code (qu'il te faudra améliorer) et dis nous si ça colle

Sub tri()
Dim celA, celB As Range
Dim compteur, compteur1 As Integer
Dim c
compteur = 0
compteur1 = 0
For Each celA In Range('A2:a45')
With Range('B2:B45')
Set c = .Find(celA)
If c Is Nothing Then
compteur = compteur + 1
End If
End With
Next
For Each celB In Range('B2:B45')
With Range('A2:A45')
Set c = .Find(celB)
If c Is Nothing Then
compteur1 = compteur1 + 1
End If
End With
Next
MsgBox 'Il y a ' & compteur & ' valeurs en colonne A qui ne sont pas en B ' _
& ' et ' & compteur1 & ' valeurs en colonne B qui ne sont pas en A', , 'résultats'
End Sub
 
N

Nico

Guest
Moi, je dis : RESPECT ! et surtout MERCI !

Si j'osais, je demanderais si c'est possible de mettre les 'orphelins' de la colonne A sur fond bleu (par exemple) et les 'orphelins' de la colonne B en rouge (toujours par exemple)...

:p

Tu ne t'imagines pas le temps que tu vas me faire gagner...
 

JC de Lorient

XLDnaute Impliqué
re
le mêm ou presque !!!!
Sub tri()
Dim celA, celB As Range
Dim compteur, compteur1 As Integer
Dim c
compteur = 0
compteur1 = 0
For Each celA In Range('A2:a45')
With Range('B2:B45')
Set c = .Find(celA)
If c Is Nothing Then
celA.Interior.ColorIndex = 41
compteur = compteur + 1
End If
End With
Next
For Each celB In Range('B2:B45')
With Range('A2:A45')
Set c = .Find(celB)
If c Is Nothing Then
celB.Interior.ColorIndex = 3
compteur1 = compteur1 + 1
End If
End With
Next
MsgBox 'Il y a ' & compteur & ' valeurs en colonne A qui ne sont pas en B ' _
& ' et ' & compteur1 & ' valeurs en colonne B qui ne sont pas en A', , 'résultats'
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 497
Messages
2 088 992
Membres
104 000
dernier inscrit
dinelcia