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 :

Besoin d'aide pour une formule


Sujet :

Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Octobre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur commercial

    Informations forums :
    Inscription : Octobre 2014
    Messages : 7
    Points : 1
    Points
    1
    Par défaut Besoin d'aide pour une formule
    Bonjour,

    Je n'arrive pas à obtenir la formule que je souhaite Par SI et ET OU

    J'ai plusieurs variable:

    Je souhaite que si La cellule E6 est comprise entre : 0 et 150000 = 0.07 si P6 est "exclu" ou 0.08 si P6 est "simple"
    150001 et 300000 = 0.06 si P7 est "exclu" ou 0.07 si P7 est "simple"
    300001 et 400000 = 0.05 si P8 est "exclu" ou 0.06 si P8 est "simple"
    superieur à 400001 = 0.04 si P9 est "exclu" ou 0.05 si P9 est "simple"

    Merci par avance pour votre aide

  2. #2
    Invité
    Invité(e)
    Par défaut Avec une fonction
    Bonjour,

    Cette fonction peut répondre à votre problème :

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    Function ExcluSimple(ByVal ValeurCelluleE6 As Long) As Double
     
            Application.volatile
            ExcluSimple = 0#
     
            Select Case ValeurCelluleE6
                    Case 0 To 150000
                        Select Case Range("P6")
                            Case "exclu"
                                ExcluSimple = 0.07
                            Case "simple"
                                ExcluSimple = 0.08
                         End Select
                    Case 150001 To 300000
                         Select Case Range("P7")
                            Case "exclu"
                                ExcluSimple = 0.06
                            Case "simple"
                                ExcluSimple = 0.07
                         End Select
                    Case 300001 To 400000
                         Select Case Range("P8")
                            Case "exclu"
                                ExcluSimple = 0.05
                            Case "simple"
                                ExcluSimple = 0.06
                         End Select
                    Case Is > 400000
                         Select Case Range("P9")
                            Case "exclu"
                                ExcluSimple = 0.04
                            Case "simple"
                                ExcluSimple = 0.05
                         End Select
            End Select
     
    End Function
    A insérer dans un module standard de votre classeur.

    Cordialement.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Octobre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur commercial

    Informations forums :
    Inscription : Octobre 2014
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Bonjour

    Merci pour votre réponse et le temps que vous y avez apporté.

    Je suis un peu novice dans ce type d'execution, pouvez vous m expliquer la procedure à suivre?

    Merci par avance
    Bonne journée

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par stephane78400 Voir le message
    Je suis un peu novice dans ce type d'execution, pouvez vous m expliquer la procedure à suivre?
    Il faut que votre fichier accepte les macros, l'extension doit être .xls ou .xlsm

    Si c'est le cas, il vous faut copier la fonction et la coller dans un module standard de votre fichier. Pour accéder à l'éditeur VBA, Alt-F11. Puis Insertion - Module.

    Voir l'exemple dans le fichier joint.

    Cordialement.

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Octobre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur commercial

    Informations forums :
    Inscription : Octobre 2014
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Merci à vous !

    J ai effectué l operation, faut il ensuite fermé ou enregistrer?
    Comment a partir du tableau initial rattacher cette formule?
    Merci

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par stephane78400 Voir le message
    J ai effectué l operation, faut il ensuite fermé ou enregistrer?
    Comment a partir du tableau initial rattacher cette formule?
    Si le module créé est dans votre fichier, la fonction sera sauvegardée en sauvegardant le fichier (il ne faut pas oublier de le faire....)

    Quant à l'utilisation de cette fonction, vous pouvez l'utiliser comme n'importe quelle fonction d'excel en saisissant dans une cellule =Exclusimp.... puis en sélectionnant la cellule de type E6 concernée. En clair, si la valeur à tester se situe en A7 et non plus en E6 par exemple et que vous souhaitez le résultat en E2, la formule dans E2 est =Exclusimple(A7)

    Seules resteront en coordonnées absolues, les références aux cellules P7 à P9.

    Cordialement.

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Octobre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur commercial

    Informations forums :
    Inscription : Octobre 2014
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Merci , desolé je suis vraiment pas très doué , il me marque ambiguité dans le nom..
    Bref j 'ai peut etre visé un peu trop haut pour ce tableau
    J arrête de vous embeter je vais essayer de continuer des tutoriels excel pour arriver à m en sortir .
    Merci pour votre temps

  8. #8
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par stephane78400 Voir le message
    il me marque ambiguité dans le nom..
    La fonction doit être en double dans le ou les modules VBA. Il suffit d'en supprimer une.

    Cordialement.

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Octobre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur commercial

    Informations forums :
    Inscription : Octobre 2014
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Oui j ai supprimer un module et maintenant il me marque erreur de valeur

    MONTANT DU BIEN TYPE DE MANDAT COM AGENCE ENTRANT SORTANT
    22000 EXCLU #VALEUR! #VALEUR! #VALEUR!
    SIMPLE 0 0 0

    le module :

    Function ExcluSimple(ByVal ValeurCelluleE6 As Long) As Double

    Application.Volatile
    ExcluSimple = 0#

    Select Case ValeurCelluleE6
    Case 0 To 150000
    Select Case Range("F6")
    Case "exclu"
    ExcluSimple = 0.07
    Case "simple"
    ExcluSimple = 0.08
    End Select
    Case 150001 To 300000
    Select Case Range("F6")
    Case "exclu"
    ExcluSimple = 0.06
    Case "simple"
    ExcluSimple = 0.07
    End Select
    Case 300001 To 400000
    Select Case Range("F6")
    Case "exclu"
    Case "simple"
    ExcluSimple = 0.06
    End Select
    Case Is > 400000
    Select Case Range("F6")
    Case "exclu"
    ExcluSimple = 0.04
    Case "simple"
    ExcluSimple = 0.05
    End Select
    End Select

    End Function

  10. #10
    Membre averti
    Homme Profil pro
    Ctrl Gestion
    Inscrit en
    Octobre 2011
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ctrl Gestion
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2011
    Messages : 172
    Points : 356
    Points
    356
    Par défaut
    Bonjour stephane78400, Eric KERGRESSE, le Forum

    Et avec une table de données présentée comme suit :
    Nom : Test.GIF
Affichages : 120
Taille : 5,5 Ko

    Une formule Index avec deux equiv devrait répondre à ta demande, si je l'ai bien comprise

    =INDEX(tblProduits;EQUIV(C1;Feuil2!$A$3:$A$6;1);EQUIV(B1;tblType;0)+2)
    J'ai donné des noms aux plages permettant de retrouver les données chiffrées par rapport au type (exclu ou simple)

    Voir le fichier en pièce jointe comme exemple.

    Slts
    Fichiers attachés Fichiers attachés

  11. #11
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Octobre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur commercial

    Informations forums :
    Inscription : Octobre 2014
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Merci !

    Ca à l'air de presque fonctionner.

    Mais j'ai encore des erreurs je ne vois pas ou.
    J ai mis le fichier en piece jointe
    Fichiers attachés Fichiers attachés

  12. #12
    Membre averti
    Homme Profil pro
    Ctrl Gestion
    Inscrit en
    Octobre 2011
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ctrl Gestion
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2011
    Messages : 172
    Points : 356
    Points
    356
    Par défaut
    Bonsoir stephane78400, le Forum

    J'ai modifié le fichier joint pour que les valeurs d'erreur n'apparaissent plus, c'était dû aux plages utilisées.

    Slts
    Fichiers attachés Fichiers attachés

  13. #13
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Octobre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur commercial

    Informations forums :
    Inscription : Octobre 2014
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Merci infiniment c'est super sympa !
    C est nikel
    Bon week end

  14. #14
    Membre expert

    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2012
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 564
    Points : 3 554
    Points
    3 554
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Bravo à danixdb pour sa proposition.
    Une formule utilisant sa table de correspondance et la fonction RECHERCHEV, ce qui donne une écriture à peine plus courte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =RECHERCHEV($E6;tblProduits;4+(PORTEFEUILLE!F6="SIMPLE"))
    Enfin, si l'on veut ne pas avoir à rajouter une feuille supplémentaire avec la table de correspondance, on peut utiliser
    la formule suivante calculant le taux recherché:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    = 0,08-0,01*EQUIV($E6;{0;150001;300001;400001})+0,01*($F6="SIMPLE")
    Deux remarques sur la table de correspondance :
    La solution proposée par danixdb est loin d'être un pis aller à cause du rajout d'une feuille contenant cette table.
    Cela facilite l'emploi des fonctions de recherche, outils essentiels pour l'établissement de classeurs, et n'alourdit en rien le dossier.
    Dans la table en question, la colonne C n'est bien sûr pas fonctionnelle et a un rôle seulement explicatif pour des
    utilisateurs peu avertis (ce qui n'est pas négligeable).
    Mais la colonne B n'est pas non plus fonctionnelle. Seule la colonne des seuils d'entrée dans les tranches est importante.
    J'ai modifié dans le classeur joint les deux colonnes sans les supprimer pour ne pas changer les formules proposées.
    Cordialement
    Claude
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Besoin d'aide pour une formule excel.
    Par passio dans le forum Excel
    Réponses: 9
    Dernier message: 31/01/2012, 01h35
  2. Besoin d'aide pour une formule récalcitrante
    Par houdy dans le forum Excel
    Réponses: 2
    Dernier message: 01/01/2011, 11h35
  3. [OpenOffice][Tableur] Besoin d'aide pour une formule: colorer fond cellule suivant un chiffre
    Par bennji dans le forum OpenOffice & LibreOffice
    Réponses: 2
    Dernier message: 26/01/2009, 13h47
  4. besoin d'aide pour une requête
    Par Damien69 dans le forum Langage SQL
    Réponses: 11
    Dernier message: 31/03/2004, 15h38

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