RUGBYMAN78
Messages postés5Date d'inscriptionmercredi 4 juin 2008StatutMembreDernière intervention 4 juin 2008
-
4 juin 2008 à 13:36
RUGBYMAN78
Messages postés5Date d'inscriptionmercredi 4 juin 2008StatutMembreDernière intervention 4 juin 2008
-
4 juin 2008 à 18:19
Bonjour à tous !
J'ai quelques soucis avec vba sous excel.
Tout d'abord, j'ai suivi une initiation à vba , mais voilà déjà 2 ans de passés, et mes souvenir sont .... limités !
J'ai repris mon support de formation, consulté quelques forums, mais rien trouvé, aussi je lance ce post.
J'ai un tableau excel, dans lequel il a été saisi des informations.
Je m'intéresse à la colonne C qui contient des noms de famille.
Je dois faire une macro pour rechercher les doublons de saisie. Il faut donc comparer toutes les cellules de la colonne C entre elles, et les colorier si il y a un doublon.
C'est surememnt tout bête, mais je galère là dessus depuis 1 journée, alors si quelqu'un pouvait m'aider, ce serait très sympa !
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 4 juin 2008 à 15:30
Bonjour
Tu es vraiment impatient, seulement 45 minutes, c'est pas terrible comme temps de réponse, il faudrait vraiment un système pour prévenir de l'ajout de message sur le forum ....
Essaye un truc du genre :
Dim lCol as long
lCol=3'Colonne
Dim lLineStart as long
lLineStart=2'Ligne de départ
dim i as long
dim j as long
i=lLineStart
do while Cells(lcol,i).value<>""
for j=lLineStart to i-1
If Cells(j,i).value=Cells(lCol,j).Value then
'Doublon
End If
Next
i=i+1
loop
Le fer à souder a besoin d'une panne pour fonctionner.
VB (6, .NET1&2), C++, C#.Net1
Mon site
RUGBYMAN78
Messages postés5Date d'inscriptionmercredi 4 juin 2008StatutMembreDernière intervention 4 juin 2008 4 juin 2008 à 15:50
Je te remercie de ta réponse,
apparement, ca me renvoie une erreur d'exéc 1004 au niveau de cette ligne :
Do While Cells(lCol, i).Value <> ""
De mon côté, en fouinant un peu, j'ai retrouvé un code que j'ai un peu modifié de ce type :
Sub IdentifieDoublons(Plage As Range)
Dim Cell As Range
Dim Un As Collection
Set Un = New Collection
On Error Resume Next
'Boucle sur la plage de cellule
For Each Cell In Plage
'Pour ne pas prendre en compte les cellules vides
If Cell <> "" Then
'Ajoute le contenu de la cellule dans la collection
Un.Add Cell, CStr(Cell)
'Si la procédure renvoie une erreur, cela signifie que l'élément
'existe déjà dans la collection et donc qu'il s'agit d'un doublon.
'Dans ce cas la macro colorie la cellule en vert.
If Err <> 0 Then Cell.Interior.ColorIndex = 8
'Efface toutes les valeurs de l'objet Err.
Err.Clear
End If
Next Cell
Set Un = Nothing
End Sub
Le problème, c'est que ca ne me colorie qu'en vert le deuxième trouvé, mais pas l'original !
Je chauffe je pense ......
Vous n’avez pas trouvé la réponse que vous recherchez ?