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 :

Donner un ordre à des valeurs pour faire des comparaisons [Toutes versions]


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2020
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2020
    Messages : 14
    Par défaut Donner un ordre à des valeurs pour faire des comparaisons
    Bonjour,

    J'ai besoin que vous m'éclairiez sur un point via : est-il possible de faire une macro qui permettrait de donner un ordre à des valeurs pour faire des comparaisons ensuite.
    Par exemple dire : A+ > A > A- > B+. Ceci supposerait donc que si dans la colonne C, on trouve la valeur A+ et dans la colonne D la valeur A- alors C>D.

    J'ai essayé avec un array mais je ne maîtrise pas très bien toutes les fonctionnalités encore.

    Merci d'avance de votre aide !

  2. #2
    Membre émérite Avatar de Alex020181
    Homme Profil pro
    Prestataire informatique développeur d'application Excel, Access, VBA
    Inscrit en
    Juin 2012
    Messages
    584
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Prestataire informatique développeur d'application Excel, Access, VBA

    Informations forums :
    Inscription : Juin 2012
    Messages : 584
    Par défaut
    Bonjour,

    Tu peux effectivement faire un tri sur des valeurs de type chaine pour les classer même si celles-ci ne sont pas classables alphabétiquement à première vue mais il te faut une étape supplémentaire.

    Il te faut créer un index pour chaque valeur de ton dictionnaire de notation. Ensuite tu travailles avec cet index. C'est le système de pondération.

    Ex:
    Tu attribues:
    1 -> pour "A"
    2 -> pour "A-"
    3 -> pour "B+"
    4 -> pour "B"
    ....

    Et ensuite tu travailles avec ces pondérations.

  3. #3
    Expert éminent 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
    Par défaut
    Pas besoin de VBA pour ça.

    Essaye :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =3*TROUVE(GAUCHE(A1;1);"EDCBA")+SI(DROITE(A1;1)="+";1;SI(DROITE(A1;1)="-";-1;0))

  4. #4
    Membre émérite Avatar de Alex020181
    Homme Profil pro
    Prestataire informatique développeur d'application Excel, Access, VBA
    Inscrit en
    Juin 2012
    Messages
    584
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Prestataire informatique développeur d'application Excel, Access, VBA

    Informations forums :
    Inscription : Juin 2012
    Messages : 584
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Pas besoin de VBA pour ça.

    Essaye :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =3*TROUVE(GAUCHE(A1;1);"EDCBA")+SI(DROITE(A1;1)="+";1;SI(DROITE(A1;1)="-";-1;0))
    Joli. Cela permet de créer directement les index.

    Attention; la fonction trouve() est sensible à la casse. Tu peux utiliser cherche() à la place pour ne pas avoir à prendre la casse en considération.

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2020
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2020
    Messages : 14
    Par défaut
    Bonjour et merci beaucoup de votre aide,

    j'ai essayé le code de menhir mais malheureusement je n'ai pas eu les résultats escomptés.

    J'obtiens par exemple : AA < A+ or dans mon cheminement ça devrait être l'inverse. Je n'arrive pas à savoir comment modifier le code car il me paraît juste.

    J'aimerai en fait attribuer un ordre de valeur à une échelle de notation de type S&P pour pouvoir avoir des comparaisons justes.

    Merci beaucoup !

  6. #6
    Expert éminent 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
    Par défaut
    Citation Envoyé par Alex_padol Voir le message
    j'ai essayé le code de menhir mais malheureusement je n'ai pas eu les résultats escomptés.

    J'obtiens par exemple : AA < A+ or dans mon cheminement ça devrait être l'inverse. Je n'arrive pas à savoir comment modifier le code car il me paraît juste.
    Tu n'as parlé dans ta demande que des lettres A, B et C et des signes + et -.
    Si tu ne fournis pas les bonnes données, tu ne pourras pas avoir la bonne réponse.

    J'aimerai en fait attribuer un ordre de valeur à une échelle de notation de type S&P pour pouvoir avoir des comparaisons justes.
    Qu'est-ce qu'une "échelle de notation de type S&P" ?

  7. #7
    Membre émérite Avatar de Alex020181
    Homme Profil pro
    Prestataire informatique développeur d'application Excel, Access, VBA
    Inscrit en
    Juin 2012
    Messages
    584
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Prestataire informatique développeur d'application Excel, Access, VBA

    Informations forums :
    Inscription : Juin 2012
    Messages : 584
    Par défaut
    Voici un fichier sans code VBA.
    Tu complètes ton échelle de notation dans la feuille "tableau_correspondance" (plus la note est forte et plus tu mets un coefficient haut). Tu verras ensuite la feuille "notation" faire tes comparaisons.
    Fichiers attachés Fichiers attachés

  8. #8
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2020
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2020
    Messages : 14
    Par défaut
    Salut à tous
    Un grand merci à vous ça marche parfaitement comme je le souhaitais !
    Bonne soirée !

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 20/08/2015, 13h00
  2. Demande d'idées pour faire une comparaison
    Par cityy dans le forum Microsoft Office
    Réponses: 3
    Dernier message: 18/05/2014, 21h16
  3. Réponses: 17
    Dernier message: 17/02/2009, 23h37
  4. [E-07] Recherche de valeurs pour faire un bilan
    Par wushutao dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 06/02/2009, 23h07
  5. Donner l'ordre des pages
    Par PrinceMaster77 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 21/06/2006, 16h22

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