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

Conception Discussion :

Trier une liste par ordre croissant sans macro [XL-2013]


Sujet :

Conception

  1. #1
    Membre régulier
    Homme Profil pro
    Ingénieur aéronautique
    Inscrit en
    Août 2017
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur aéronautique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2017
    Messages : 363
    Points : 79
    Points
    79
    Par défaut Trier une liste par ordre croissant sans macro
    Bonjour,

    Les colonnes F et G correspondent à une extraction d'une base de données.

    Je voudrais en colonnes I et J afficher dans l'ordre croissant la liste des ID pour lesquels il y a un PO. Cela peut se faire via macro (je l'ai fait) mais je voudrais le faire uniquement avec des formules (passage d'EXCEL à GSuite).

    Voici une capture d'écran de la partie qui m'intéresse :

    Nom : Capture_1.JPG
Affichages : 349
Taille : 110,2 Ko

    Des suggestions ? Merci par avance.

    Précision importante : il peut y avoir plusieurs ID identiques avec des PO différents.

    Cdlt.
    Jérôme.

  2. #2
    Membre actif
    Femme Profil pro
    Technicienne
    Inscrit en
    Avril 2018
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicienne

    Informations forums :
    Inscription : Avril 2018
    Messages : 153
    Points : 264
    Points
    264
    Par défaut
    Bonjour

    Avec les deux hypothèses suivantes :
    - ta liste d'origine dans la colonne F est (comme sur ta copie d'écran) déjà triée par ordre croissant
    - tu souhaites que les lignes vides n'apparaissent pas dans tes colonnes I et J de destination

    Je te propose une fonction DECALER en matriciel :

    Saisir en I3 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    =DECALER(F$3;PETITE.VALEUR(SIERREUR(CHERCHE("*";$G$3:$G$999);0)*(LIGNE($G$3:$G$999)-LIGNE(I$3));LIGNE()-LIGNEI$2)+NB.SI($G$3:$G$999;""));0)
    A valider par ctrl + shift + entrée
    Décaler vers la droite et vers le bas pour remplir tes colonnes I et J

    J'ai choisi arbitrairement que tes données d'origine ne dépassent pas la ligne 999, mais bien sûr il faut adapter la plage à la réalité de ton fichier.
    Cette formule produit une erreur au-delà de la dernière ligne remplie dans ta plage destination. Ça peut s'arranger. Vois déjà si ça correspond à ce que tu veux.

    Si ta liste d'origine n'est pas triée par ordre croissant, ça me semble faisable mais plus compliqué.
    Chez moi : XL-MAC 2011, pas de VBA.
    C'est en bûchant qu'on devient bûcheron.
    C'est en mouchant qu'on devient moucheron.

  3. #3
    Membre régulier
    Homme Profil pro
    Ingénieur aéronautique
    Inscrit en
    Août 2017
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur aéronautique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2017
    Messages : 363
    Points : 79
    Points
    79
    Par défaut
    Merci beaucoup !!

    Cdlt.
    Jerome

  4. #4
    Membre régulier
    Homme Profil pro
    Ingénieur aéronautique
    Inscrit en
    Août 2017
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur aéronautique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2017
    Messages : 363
    Points : 79
    Points
    79
    Par défaut
    Bonjour,

    J'ai copié/collé cette formule en I3 et j'ai une erreur de formule ? Lorsque tu parles de faire CTRL MAJ ENTREE, c'est après avoir entré la formule en I3 en se positionnant dans la cellule I3 ?

    Cdlt.
    Jérôme.

  5. #5
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 660
    Points : 5 783
    Points
    5 783
    Par défaut
    Bonjour,

    Il me semble qu'il manque une parenthèse dans la formule proposée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DECALER(F$3;PETITE.VALEUR(SIERREUR(CHERCHE("*";$G$3:$G$999);0)*(LIGNE($G$3:$G$999)-LIGNE(I$3));LIGNE()-LIGNE(I$2)+NB.SI($G$3:$G$999;""));0)
    Note que tu peux aussi avoir le résultat simplement avec un filtre avancé, mais je ne suis pas sur que ce soit ce que tu recherches.
    J'aimerais bien aller vivre en Théorie, car en Théorie tout se passe bien.

  6. #6
    Membre actif
    Femme Profil pro
    Technicienne
    Inscrit en
    Avril 2018
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicienne

    Informations forums :
    Inscription : Avril 2018
    Messages : 153
    Points : 264
    Points
    264
    Par défaut
    C'est exact il manque une parenthèse. Merci halaster08.
    Chez moi : XL-MAC 2011, pas de VBA.
    C'est en bûchant qu'on devient bûcheron.
    C'est en mouchant qu'on devient moucheron.

  7. #7
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Pour ce qui est des formules matricielles : https://support.office.com/fr-fr/art...f-48361075954d
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  8. #8
    Membre régulier
    Homme Profil pro
    Ingénieur aéronautique
    Inscrit en
    Août 2017
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur aéronautique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2017
    Messages : 363
    Points : 79
    Points
    79
    Par défaut
    Merci beaucoup...

    Cdlt.
    Jérôme

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 09/11/2018, 12h12
  2. Trier un liste par ordre croissant
    Par medosarre dans le forum Assembleur
    Réponses: 1
    Dernier message: 20/02/2017, 11h28
  3. Trier une Grille par ordre croissant ou décroissant
    Par nurah dans le forum Composants VCL
    Réponses: 6
    Dernier message: 13/02/2013, 12h05
  4. [MySQL] Afficher une liste par ordre alphabétique sans prendre en compte les articles
    Par StephBretagne dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 12/04/2012, 15h57
  5. [VBA]Trier les valeur d une liste par ordre croissant
    Par PierrotKun dans le forum VBA Access
    Réponses: 1
    Dernier message: 30/03/2007, 09h37

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