Rechercher : dans
Par :

[VBA] Tri décroissant d'un tableau + doublons

Dernière réponse le 29 mai 2008 à 17:39:24 sandrill0n, le 23 fév 2006 à 19:40:51 
 Signaler ce message aux modérateurs

Bonjour,

Je souhaite supprimer automatiqument quelques lignes d'un tableau Excel.
J'ai 2 solutions en tête mais je n'arrive pas à les tester.

1/ Trier le tableau par ordre décroissant en fonction de la date le tableau et ensuite supprimer les lignes en doubles.
Je sais faire la suppression dans ce cas, mais je ne sais pas faire le tri décroissant.

2/ Garder le tableau tel qu'il est, et supprimer les lignes en doubles mais garder la première lignes.
Je ne sais pas faire la comparaison d'une ligne n avec la ligne n-1 et supprimer la ligne n et faire la comparaison sur 2000 lignes...

Ci joint le bout de programme que j'ai fait : pas de tri, comparaison de la ligne n avec la ligne n+1 et supprssion de la ligne n.

' Supprimer les doublons
Set currentsyst_eqt = Worksheets("Models").Range("F6")
Set currentstandard = Worksheets("Models").Range("I6")

Do While Not IsEmpty(currentsyst_eqt)
    Set nextsyst_eqt = currentsyst_eqt.Offset(1, 0)
    Set nextstandard = currentstandard.Offset(1, 0)
    
    If (nextsyst_eqt.Value = currentsyst_eqt.Value) Then
        If (nextstandard.Value = currentstandard.Value)  Then
            currentsyst_eqt.EntireRow.Delete
        Else
        End If
    Else
    End If

    Set currentsyst_eqt = nextsyst_eqt
    Set currentstandard = nextstandard
Loop


Merci de votre aide

Meilleures réponses pour « [VBA] Tri décroissant d'un tableau + doublons » dans :
Tri à bulles -récursivité- VoirVoici une procédure récursive qui permet de trier un tableau de n entiers en utilisant la méthode de tri à bulles : Procedure Tri_bulles (var t : TAB; n : integer); Var i, aux : integer; Function Trier (t : TAB; n : integer) : Boolean; ...
Tri par fusion - récursivité- VoirVoici une procédure récursive qui permet de trier un tableau de n entiers en utilisant la méthode de tri par fusion : Procedure Tri_Fusion (Var t : TAB; g, d : integer); Var m, i, j, k : integer; s : TAB; Begin If d > g Then ...
VBA et les collections d'objets. VoirVBA et les collections d'objets Quand plusieurs (beaucoup de) contrôles sont mis sur une feuille ou un Userform il est parfois fastidieux d'écrire du code dans chaque évènement des contrôles. Ce Tuto vous permet de traiter vos contrôles comme...
SQL - Tri VoirTri des résultats Il est possible en SQL d'organiser les résultats grâce à la clause ORDER BY. La clause ORDER BY est suivie des mots clés ASC ou DESC, qui précisent respectivement si le tri se fait de manière croissante (par défaut) ou...

1

coin, le 24 fév 2006 à 13:24:56
  • +1

Il existe sous excel une fonction "sort". tu regles les parametres pour trier de maniere croissante decroissante une colonne ou une ligne.

pour l obtenir avec ces parametres, je te suggere de generer une macro excel puis d aller l onglet donnees, de selecionner trier : croissant ou decroissant en colonne ou en ligne. puis d arreter l enregistrement de ta macro puis d aller voir le code genere.

tu peus aussi la rechercher dans l aide.

ciao
coin

Répondre à coin

2

 Jojo, le 29 mai 2008 à 17:39:24

Bonjour à tous,


J'ai un tableau excel de ce type:

Num contact Num commande Nom contact
1 lulu asso
2 lola club
3 zouzuo autres
3 zouzuo autres
4 alpha piscine
5 beta salle
6 tango foret
7 charly camping
7 domi plage
8 nico bureau


Je voudrais supprimer les lignes ou il y'a des doublons comme (3 zouzuo autres), ainsi que les lignes ou il y'a des doublons comme (7 charly camping et 7 domi plage).

Je voudrais effectuer un comptage et ces doublons me posent problème.

Auriez vous une formule pour m'aider. si possible la plus simple possible.

d'avance merci

Répondre à Jojo