Trier des donnees sur deux colonnes ( ID + Version) - VB/VBA/VBS - Programmation
Marsh Posté le 09-10-2013 à 12:49:32
Bonjour,
merci d'utiliser la prochaine fois l'icône dévolu au code …
Sinon ce n'est pas toujours clair mais justement avec un objet Dictionary
seule est conservée la dernière version et donc ce code est inutile …
Ou alors je n'ai rien compris à cause d'une présentation ni assez claire ni exhaustive !
Marsh Posté le 09-10-2013 à 09:33:08
Bonjour les forumeurs,
J explique mon Ploblème.
Voilà : J'ai 2 colonnes "A" dans laquelle jái un type de données comme celui ci "2ZLF9F" (ceux sont des ID) toujours le même nombre de caractère dans ma colonne ils peuvent se répèter plusieurs fois.
Ils sont rattaché à la chaine de caractère de la colonne "B" qui est composé de 3 caractère (ceux sont les numero de version de mes ID) de type ---, --A, --B, -AB, -AC, ect...
Je résume pour chaque ID une version, mais dans ma BOM je peux avoir deux version pour un même ID, c'est à dire exp "ID :2ZLF9F, Version :--A" et "ID : 2ZLF9F, Version : --B"
Je voudrais lire ma colonne"A" puis vérifier la Version. Si je trouve ID + Version = ID + Version = OK, Si je trouve ID + Version > ID + Version = No OK donc supprimer la ligne de la version la plus petite.
Après les deux colonnes, débarassées des anciennes versions, sont traitées autrement.
Mon problème je n"arrive pas à trier mes données et supprimer mes vieilles versions.
Je vais pas vous mettre toute ma macro elle serait trop lourde parce qu'avant pour créer c'est deux colonnes je fais un dictionnary ect..
je vous donne donc juste la partie qui me bloque.
With ActiveSheet
Set rRange = Sheets("Temporary" ).Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp))
End With
For Each o In rRange
Set ofind = rRange.Find(o.Value, , xlValues, xlWhole)
If Not ofind Is Nothing Then
If ofind.Address <> o.Address Then
If ofind.Offset(, 1).Value > o.Value Then
lign = ofind.Row
Sheets("Temporary" ).Rows(lign).Delete
End If
End If
End If
Next
Merci de votre aide et pour vos explications ...
Cdt,
Olivier