IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Tri Excel + masquer redondance


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 21
    Par défaut Tri Excel + masquer redondance
    Bonjour,
    J'ai un ficher Excel avec dans une colonne des numeros de notes avec leur date de mise à jour dans la colonne suivante.
    Or j'aimerai trouver un filtre ou une macro qui me permette de masquer toutes les redondance et d'afficher seulement la ligne avec la derniere mise à jour ?
    Avez vous une piste pour m'aider ??? MERCI !

  2. #2
    Membre confirmé Avatar de calimero91
    Inscrit en
    Décembre 2005
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Décembre 2005
    Messages : 183
    Par défaut
    bonjour,

    tu veux masquer les redondance dans excel?les supprimer?ou les affichers dans un textbox?
    si tu souhaite rester dans excel pourquoi ne pas utiliser les filtres excel?

  3. #3
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Citation Envoyé par calimero91
    bonjour,

    tu veux masquer les redondance dans excel?les supprimer?ou les affichers dans un textbox?
    si tu souhaite rester dans excel pourquoi ne pas utiliser les filtres excel?
    Il faut bien lire les questions avant de répondre.

    Phenx a bien dit qu'il est dans Excel, qu'il veut filtrer pour masquer et qu'il ne veut garder que la dernière occurence des doublons.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    masquer toutes les redondance et d'afficher seulement la ligne avec la derniere mise à jour ?
    Ces redondances sont-elles nécessairement à des dates <> de la dernière mise à jour ?

    A+

    Edit
    Je précise ma question : Ou bien chaque saisie de nouvelles données s'effectue-t-elle sur une nouvelle ligne de la feuille de calcul ?

  5. #5
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 21
    Par défaut
    En fait, dans la premiere colonne le numero des notes, dans la colonne les dates d'une mise a jour. Si on saisie une nouvelle mise a jour on réécrit une ligne avec en premiere colonne le numero de la note et dans la deuxiemme colonne une autre date de mise a jour (tout ca pour avoir une base avec un historique complet des misea a jour) sauf que lorsqu'on ouvre ce fichier il faudrait que n'apparaisse que les dernieres mise a jour et que les antérieurs soient des lignes masquées.
    J'espère avoir eclairci un peu tout ca (pas sur ...)

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Si on saisie une nouvelle mise a jour on réécrit une ligne avec en premiere colonne le numero de la note et dans la deuxiemme colonne une autre date de mise a jour
    Le point commun d'une note et de sa mise à jour est donc le N° de note ?
    Ai-je bien compris ?
    Si c'est ça, il faut une macro qui analyse chaque N° de note (la réference), vérifie dans toute la colonne l'existence d'un doublon et si la date du doublon est plus récente, masque la ligne de référence, le doublon devenant la référence.
    Avant de te mettre du code, dis déjà si ça peut marcher comme ça...

    A+

  7. #7
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 21
    Par défaut
    C'est tout a fait ca !!!

  8. #8
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Tu as besoin de code ou tu te débrouilles avec ça ?

    A+

  9. #9
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 21
    Par défaut
    J'abuse si je te demande le code ???? Parceque j'arrive pas a le trouver ...
    Merci

  10. #10
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    tiens voila ce code...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    Sub trieNote()
        Dim NbLigne As Integer
        Dim i As Integer
        Dim dMax As Date
        Dim iMax As Integer 'Numero ligne Max
        Dim j As Integer
        Dim F As Worksheet 'Feuille excel contenant la liste
        Set F = ActiveSheet '..défini feuille..à adapter
        F.Activate
        F.Cells.EntireRow.Hidden = False 'Affiche toute les colonnes
        NbLigne = F.Cells(1, 1).CurrentRegion.Rows.Count
        For i = 2 To NbLigne 'parcours les lignes ..
          If F.Cells(i, 1).EntireRow.Hidden = False Then 'Si la cellule n'est pas déjà masquée..
            iMax = i
            dMax = F.Cells(i, 2)
            For j = i + 1 To NbLigne 'Parcours les lignes restante
              If F.Cells(j, 1) = F.Cells(i, 1) And F.Cells(j, 2) >= dMax Then
                 F.Rows(iMax).EntireRow.Hidden = True
                 'Memorise date Max...et numero ligne contennant
                 iMax = j
                 dMax = F.Cells(j, 2)
               End If
            Next
          End If
        Next
    End Sub
    avec 1° colonne Note, 2°colonne Date.., agit sur feuille active...

  11. #11
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Citation Envoyé par Phenx
    J'abuse si je te demande le code ???? Parceque j'arrive pas a le trouver ...
    Merci
    Euh, un code, ça s'écrit, ça se trouve pas!!!

    Tu savais?
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  12. #12
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Sam Jan 14, 2006 23:50 Phenx écrit :
    J'abuse si je te demande le code ???? Parceque j'arrive pas a le trouver ...
    Merci
    Moi, à 23h50, un samedi soir... oui, je trouve que tu abuses.

    A+

  13. #13
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 21
    Par défaut
    Oups désolé j'avais oublié que certains ont des vies sociales ... la chance !!
    Sinon je test le code ... et ca marche !! Vous etes des chefs .... sinon juste un ti détail ca dérange pas si le tableau commence en ligne 10 ??

  14. #14
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Si tu utilises ça :
    NbLigne = F.Cells(1, 1).CurrentRegion.Rows.Count
    que t'a donné bbil, tu n'auras le nombre de ligne que si les données sont cohérentes (pas de ligne totalement vides)
    Si tu risques d'avoir des lignes vides, ou que tu ne sais pas a priori, tu dois tester en partant "d'en bas"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            DernièreLigne = Range("A65535").End(xlUp)
    Encore faut-il que ta dernière ligne renseignée soit bien dans la colonne choisie (ici "A")
    Ce que je fais pour être sûr de ramener ladernière ligne, c'est un test sur toutes les colonnes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For i = 1 To NbCol
        If DernièreLigne < Cells(65535, 1).End(xlUp).Row Then
            DernièreLigne = Cells(65535, 1).End(xlUp).Row
        End If
    Next
    Certains fâcheux diront que tu ne connais pas forcément le Nb de colonnes. A eux, je dirai "Flute !"

    A+

  15. #15
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 21
    Par défaut
    Merci pour tout ca marche à merveille !!!
    Problème résolu !!

  16. #16
    Membre confirmé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mai 2020
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2020
    Messages : 150
    Par défaut Affichage de la dernière ligne si redondance référence
    Citation Envoyé par Phenx Voir le message
    Merci pour tout ca marche à merveille !!!
    Problème résolu !!
    Hello PHENX, j'envoie une bouteille à la mer au cas où :

    aurais-tu le code final "au propre" , avec les bons tests de lignes vides, car j'ai exactement la même problématique que toi et ce serait dément que je puisse mettre ça en oeuvre !

    Merci beaucoup évidemment si tu peux, bonne journée en tout cas !!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Fonction Tri Excel VBA
    Par Nako_lito dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/08/2009, 16h15
  2. Odre de tri - Excel
    Par Rifton007 dans le forum VB.NET
    Réponses: 1
    Dernier message: 20/05/2009, 18h41
  3. tri excel "instruction attendue" 800a0400
    Par ghostvb dans le forum VBScript
    Réponses: 5
    Dernier message: 03/08/2008, 14h29
  4. [VBA Excel]Masquer lignes en couleur
    Par macat dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 30/07/2008, 16h04
  5. [VBS] Tri Excel basique
    Par Bruniche dans le forum VBScript
    Réponses: 6
    Dernier message: 24/07/2006, 14h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo