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 avec un underscore


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juin 2016
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Juin 2016
    Messages : 306
    Par défaut Tri avec un underscore
    je reviens sur le forum pour une aide sur du tri.


    Dans ma colonne B j'ai des numéros qui sont décroissant à partir de B9
    Dans ma colonne J j'ai mes articles
    Dans ma colonne H des numéros de série

    j'ai commencé à filtrer déjà par ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    With Sheets(1)
    Set plage1 = .Range("J9", .Range("J" & Rows.Count).End(xlUp))
    Set plage2 = .Range("H9", .Range("H" & Rows.Count).End(xlUp))
    x = WorksheetFunction.CountIfs(plage1, article, plage2, numserie)
    End With
    x me retourne le nombre d'élément selon mes critères : article et numserie

    je pense par la suite mettre ceci dans un tableau (pour gagner en vitesse de traitement)

    Mon problème est le suivant lorsque j'ai plusieurs fois le même numéro de série je souhaiterai obtenir le dernier
    pour différencier les mêmes numéros de série j'ai mis en colonne B un compteur décroissant
    ainsi
    si j'ai le numéro de série XXXXXX alors je peut les différencier avec XXXXXX_numéro de la colonneB

    Mais je souhaite afficher le XXXXXX_le plus fort


    faut il retrier dans le tableau ou existe une formule simple ?

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    si j'ai bien compris, puisque tes numéros sont décroissants, c'est que tu veux la première ligne résultant de ton filtre automatique ?

    si c'est ça, voici un exemple où on filtre la colonne H avec un numéro de série
    ensuite on affiche le numéro du compteur et le numéro de série de la première ligne filtrée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub LePlusGros()
    Dim Numero As Long
    Numero = 32
        With Range("A9")
            .AutoFilter
            .AutoFilter 8, Numero
        End With
     
        With Range(Cells(10, 2), Cells(Rows.Count, 2).End(xlUp)).SpecialCells(xlCellTypeVisible)
            MsgBox .Cells(1, 1).Value & " " & .Cells(1, 7).Value
        End With
    End Sub

  3. #3
    Membre éclairé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juin 2016
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Juin 2016
    Messages : 306
    Par défaut
    si j'ai bien compris, puisque tes numéros sont décroissants, c'est que tu veux la première ligne résultant de ton filtre automatique ?
    Je ne veux pas parriculièrement la première ligne du filtre.

    Je reprend un exemple:

    ColonneB                 ColonneJ              ColonneH
    37                           Chapeau.             876000
    23.                          Ceinture.              879600
    11.                          Ceinture.              435987
    8.                            Chapeau.             765789
    2.                            Ceinture.              879600
    Admettons que j'ai choisis dans un USF via une combobox l'article ceinture alors trouve l'article ceinture.

    Il doit me trouver le 879600_23 et le 435987_11 et le 879600_2

    Admettons que dans une textbox je veuille que le 879600, la j'en aurai 2
    Le 879600_2 et le 879600_23 affiche moi alors uniquement le plus récent (leplusgros) c'est à dire le 23

    (PS: La fonction autofilter ne marche pas sur xl2007)

  4. #4
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour, bonjour !

    Citation Envoyé par esse2016 Voir le message
    (PS: La fonction autofilter ne marche pas sur xl2007)
    Elle fonctionne très bien de mon côté avec Excel 2007 et ce sur différents ordinateurs ‼

    Voilà, voilà !

    _________________________________________________________________________________________________________
    Je suis Paris, Nice, Bruxelles, Charlie, …

  5. #5
    Membre éclairé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juin 2016
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Juin 2016
    Messages : 306
    Par défaut
    Arf, j'essayerai sur autre pc dans ce cas , mais aurais tu une idée Marc-L pour mon problème ?

  6. #6
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Déjà, il y a une icône pour afficher un tableau dans le message …

    Ensuite la réponse de Joe correspondant tout à fait à ta présentation initiale,
    le post #3 venant la contredire et prêtant à confusion,
    alors avec une explication claire & exhaustive du besoin ! …

    Selon la présentation initiale « en colonne B un compteur décroissant »
    alors c'est le premier n° de série correspondant dans la liste …

    Sinon bonne idée le tableau, pourquoi ne pas avoir commencer par là ?
    Publie un code dans ce sens …
    Mais avec la fonction Find, c'est inutile si c'est bien le premier n° de série correspondant dans la liste !

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

Discussions similaires

  1. Problème de tri avec analyse croisée
    Par drthodt dans le forum Access
    Réponses: 2
    Dernier message: 18/10/2005, 16h23
  2. formule de calcul du TRI avec PL/SQL
    Par mongilotti dans le forum Algorithmes et structures de données
    Réponses: 15
    Dernier message: 30/07/2005, 20h23
  3. Pb de tri avec champs vide
    Par Invité dans le forum Langage SQL
    Réponses: 2
    Dernier message: 01/06/2004, 17h42
  4. tri avec l'ordre UPDATE et incrementation d'une colonne
    Par Staron dans le forum Langage SQL
    Réponses: 3
    Dernier message: 17/02/2004, 08h48
  5. tri avec les champs vides en dernier
    Par r-zo dans le forum Requêtes
    Réponses: 11
    Dernier message: 03/09/2003, 13h40

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