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

Excel Discussion :

Trouver la ligne de la dernière occurence d'une valeur


Sujet :

Excel

  1. #21
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Janvier 2008
    Messages : 32
    Points : 21
    Points
    21
    Par défaut
    Bonjour Pierre et le forum
    Oui elle va bien cette formule
    Mais j'ai un autre souci, quand j'essaye de l'appliquer pour une plage à la place d'une colonne il me renvoie #N/A
    Est ce qu'il y a un moyen de la faire fonctionner pour une plage B & C par exemple ?
    Un grand merci à tous qui se sont mobilisé pour mon souci sympa !
    à + de vous lire
    Mica

  2. #22
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 919
    Points
    55 919
    Billets dans le blog
    131
    Par défaut
    Bonjour

    EQUIV cherche la position d'une valeur dans une matrice à 1 dimension (1 ligne ou 1 colonne).

    Si tu dois chercher sur deux colonnes, je vois une solution en testant le plus petit numéro renvoyé par deux EQUIV.

    Comme tu ne dis pas si tu utilises la formule de Jimmy ou la mienne, je généralise la mienne en utilisant le raccourci de Jimmy.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(EQUIV($H$2;B:B;0)<=EQUIV($H$2;B:B;0);EQUIV($H$2;B:B;0)-LIGNE();EQUIV($H$2;B:B;0)-LIGNE())
    Mais peut-être serait-il intéressant, à ce stade, de nous expliquer la finalité de l'opération, car il y a peut-être moyen de simplifier la démarche

  3. #23
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Janvier 2008
    Messages : 32
    Points : 21
    Points
    21
    Par défaut
    Bonjour Pierre , le forum
    Je ne comprends pas ta formule ci dessous
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     =SI(EQUIV($H$2;B:B;0)<=EQUIV($H$2;B:B;0);EQUIV($H$2;B:B;0)-LIGNE();EQUIV($H$2;B:B;0)-LIGNE())
    en aucun cas la colonne C est mentionée alors que mon souhait serait d'englober les 2 colonnes en une formule ce qui éviterait de prendre de la place suplémentaire.
    Pour répondre a la question à quoi servirait le classeur; pour un comptage de rendement de machine outil
    Bonne ap
    Mica
    Ps: J'ai utilisé toutes les formules que l'on m'a donné une fois que j'aurais trouvé la bonne j'utiliserais celle ci

  4. #24
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 919
    Points
    55 919
    Billets dans le blog
    131
    Par défaut
    Je t'ai donné la colonne C en exemple. A toi d'adapter en fonction de tes besoins.

    Le principe, c'est de comparer la valeur renvoyée pour une colonne et celle renvoyée pour une autre colonne, et de prendre la valeur la plus petite.

    Je ne vois pas d'autre solution, sans vba en tout cas.

    A moins, bien sûr, d'une refonte de ton classeur, car je pense qu'il y a moyen d'en améliorer la structure.

    Mais ce ne sont pas les exemples de classeur que tu as fournis qui nous permettent de voir exactement de quoi il retourne.

    [EDIT] En effet, il y avait une erreur de copier-coller dans ma formule. En plus, elle renvoyait #N/A si la valeur ne se trouvait pas en C. Voici une correction qui devrait fonctionner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(ESTNA(EQUIV($H$2;C:C;0));EQUIV($H$2;B:B;0)-LIGNE();SI(EQUIV($H$2;B:B;0)<=EQUIV($H$2;C:C;0);EQUIV($H$2;B:B;0)-LIGNE();EQUIV($H$2;C:C;0)-LIGNE()))
    Un peu barbare à la lecture, mais il me semble que cela fonctionne.

    Cela n'enlève rien à mon idée que le classeur pourrait probablement être mieux structuré[/EDIT]

  5. #25
    Membre régulier Avatar de Jimy6000
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 221
    Points : 72
    Points
    72
    Par défaut
    Bonjour a tous
    J'aurais bien une sollution mais j'ai inversé le tableau ...
    L'exemple porte sur 4 colonnes mais rien ne t'empeche de modifier A: D en autre chose + de colonnes ( Pas testé sur plus que 4 colonnes a verifier )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     =SI(ESTNA(EQUIV(SI(A:D=H2;LIGNE(D:H));H2-1));LIGNE()-MAX(SI(A:D=H2;LIGNE(A:D)));EQUIV(SI(A:D=H2;LIGNE(A:D));H2-1)-EQUIV(SI(A:D=H2;LIGNE(A:D));$Z$3))
    Nota bene: tu place en Z3 une valeur : 1
    et bien entendu la cellule ou tu entres la formule doit se trouver sur la ligne ou tu as tes dernieres données ! sinon tu peux toujours taper + 1 ala fin de la formule
    Bon Appétit
    Bye
    Jimmy

  6. #26
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Janvier 2008
    Messages : 32
    Points : 21
    Points
    21
    Par défaut Merci
    Bonjour le forum
    Merci Jimmy pour ton aide, qui fonctionne parfaitement
    Il faut juste inverser l'historique mais elle fonctionne chapeau pour ta formule !
    Je suis super content
    comment faire pour la faire fontionner sue les lignes du haut ? Si c'est impossible, je me contenetrais de celle ci
    Encore un grand
    Bon Weekend
    Mica

  7. #27
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 919
    Points
    55 919
    Billets dans le blog
    131
    Par défaut
    As-tu testé la formule que je donnais le 05/02 à 13h31?

  8. #28
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Janvier 2008
    Messages : 32
    Points : 21
    Points
    21
    Par défaut
    Bonjour Pierre
    Oui je l'ai testé mais quand je veux l'agrandir pour l'appliquer sur une plus grande plage, elle ne va plus ! et renvoie #N/A
    j'aurais voulu savoir comment inverser la formule de Jimmy pour la faire fonctionner sous mon tableau ?
    Si tu as une idée meme en VBA mais je ne m'y colle pas trop dans ce domaine
    Merci par avance
    Mica

  9. #29
    Membre régulier Avatar de Jimy6000
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 221
    Points : 72
    Points
    72
    Par défaut
    Bonjour a tous
    Je ne comprends pas comment fonctionne cette formule:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DECALER(Feuil1!$B$2;0;0;NBVAL(Feuil1!$B:B);1)
    Est ce que tu peux m'expliquer Pierre ?
    Parce que quand on recherche une valeur, par ex: le 6 ou se trouve cette valeur dans la formule ?
    Merci d'avance
    Jimy

  10. #30
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 919
    Points
    55 919
    Billets dans le blog
    131
    Par défaut
    Bonjour Jimmy,

    Cette formule ne permet pas de rechercher une valeur. Elle permet uniquement de déterminer une plage de cellules. Elle peut éventuellement être utilisée pour créer une plage nommée.

    Dans le cas présent,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DECALER(Feuil1!$B$2;0;0;NBVAL(Feuil1!$B:B);1)
    définit la plage qui commence en B2 et qui est constituée d'une colonne et d'un nombre de lignes correspondant au nombre de cellules non vides de B.

    Sa mention dans cette discussion n'a qu'un rapport très lointain avec la question initiale. J'ai utilisé cette formule en réponse à Bigalo, sans y mettre un lien précis avec la demande originale, parce que sa réponse utilisait ce que je considère comme une obsolescence, et, osons le mot, une aberration. Les réticences de Bigalo quant à l'utilisation de NBVAL et les éventuels résultats aberrants renvoyés ne sont rien à côté des miennes sur l'utilisation de LIRE.DOCUMENT et les très réels résultats aberrants renvoyés lors d'une utilisation dans le cadre d'une plage nommée...

    Ta question du jour est la preuve qu'à vouloir trop en dire, on dilue l'information et qu'il devient malaisé pour les lecteurs de faire la part entre les réponses périphériques et les réponses à la question initiale, ce qui est toujours dommage sur un forum technique...

    Bonne fin de semaine

  11. #31
    Membre régulier Avatar de Jimy6000
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 221
    Points : 72
    Points
    72
    Par défaut
    Rebonjour Pierre
    Oui je suis d'accord avec toi, mais bon, si cela peut faire progresser quelqu'un - ou le shmilblick - ce n'est pas a 100% négatif
    je pense que Mica veut une formule qui mesure une plage bien précise et qu'il n'y aura pas de vides.
    Maintenant pour inverser ma formule pas évident lol je l'ai piqué dans un tableau et donné ici pour l'aider
    J'ai déja du mal en en comprendre le fonctionnement tellement elle est longue ! ( not obvious )
    mais sinon elle fonctionne :0)
    Bonne soirée
    Jimmy

  12. #32
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 919
    Points
    55 919
    Billets dans le blog
    131
    Par défaut
    Ben oui, mais comme la demande initiale de Mica n'était déjà pas évidente à comprendre, qu'elle semble avoir évolué en cours de route et qu'on a dilué tout cela dans d'autres choses, j'avoue que j'ai un peu décroché...

    J'essaierai ce soir de me replonger un peu dans la discussion...

  13. #33
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Janvier 2008
    Messages : 32
    Points : 21
    Points
    21
    Par défaut
    Bonjour à tous !
    je confirme bien, il n'y a pas de cellules vides dans mon tableau.
    j'ai fait une manip sur la base de la formule de Jimmy et pour pouvoir l'appliquer dans 4 colonnes je l'ai placé dans un coin du tableau ou ça ne géne pas et j'ai fait qui me donne le mini des 4 colonnes donc la dernière occurence
    une autre sollution qui marche aussi
    merci a tous pour votre aide sympa
    Bon week end
    Mica
    Ps: Pour Pierre, La Belgique, n'est pas loin d'ici 1 Km !
    Hum ! bonne Bierre ! et les gens sympa !!!

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Dernières occurences d'une chaîne
    Par lokomass dans le forum Shell et commandes GNU
    Réponses: 6
    Dernier message: 04/02/2015, 19h47
  2. [10g] Comment trouver la date de la dernière modification d'une table ?
    Par Lung dans le forum Administration
    Réponses: 19
    Dernier message: 30/07/2013, 16h15
  3. [AC-2007] Trouver la dernière occurence d'une date
    Par yoann63 dans le forum VBA Access
    Réponses: 1
    Dernier message: 16/04/2013, 11h17
  4. [RegEx] Remplacer dernière occurence d'une chaine par une autre
    Par webjoujou dans le forum Langage
    Réponses: 3
    Dernier message: 12/11/2008, 17h58
  5. Réponses: 4
    Dernier message: 07/09/2006, 15h02

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