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 :

Faire correspondre une valeur à des lettres


Sujet :

Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations forums :
    Inscription : Décembre 2012
    Messages : 73
    Points : 59
    Points
    59
    Par défaut Faire correspondre une valeur à des lettres
    Bonjour,

    je souhaiterai calculer une ligne contenant différentes lettres ayant une même valeur ou une valeur différente.

    J'ai déjà une formule qui fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD(((A3:D3="G")+(A3:D3="M")+(A3:D3="HP")+(A3:D3="V")+(A3:D3="GI")+(A3:D3="GL"))*24+(A3:D3="Gj")*12+(A3:D3="S")*8)
    j'aimerai juste savoir s'il est possible de simplifier cette formule afin de ne pas répéter pour les lettres ayant la valeur identique le code (a3:d3 = "x")+...

    Est-il possible de nommer une zone et de donner une valeur à chaque élément de cette zone pour au final en faire le calcul ?

    Je vous joins le fichier test.

    Merci de votre aide,

    Cdlt, PLV
    Fichiers attachés Fichiers attachés

  2. #2
    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,
    Une formule un tout petit peu plus courte en E3 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD($N$1:$P$1*(($N$2:$P$7=A3)+($N$2:$P$7=B3)+($N$2:$P$7=C3)+($N$2:$P$7=D3)))
    On obtient ainsi 72 (plutôt que 60).
    Cordialement
    Claude

  3. #3
    Membre expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 477
    Points : 3 865
    Points
    3 865
    Par défaut
    Bonjour,

    Voici un essai

    Plage dynamique
    Lettre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     =DECALER(Feuil1!$R$2;0;0;NBVAL(Feuil1!$R:$R)-1;1)
    Code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     =DECALER(Feuil1!$S$2;0;0;NBVAL(Feuil1!$S:$S)-1;1)
    Formule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     =SOMMEPROD(NB.SI(A3:D3;Lettre)*1;Code)
    Fichiers attachés Fichiers attachés

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations forums :
    Inscription : Décembre 2012
    Messages : 73
    Points : 59
    Points
    59
    Par défaut
    Bonjour Claude,

    Alors merci pour ta formule, le hic c'est que je pense qu'elle va me faire beaucoup d'écriture pour faire ma formule. Chaque cellule où se trouve une lettre
    correspond à un jour soit 31 jour donc 31 colonnes, et dans mon exemple il n'y a pas la totalité de mes lettres pouvant avoir ces valeurs. Donc ta formule va être aussi longue que la mienne au final je pense.

    Pour ce qui est du résultat de ma somme, c'est un peu de ma faute car dans ma formule j'ai omis de compter une donnée, le GN, qui équivaut à une 12H d'ou le 60 au lieu du 72.

    Merci pour le temps passé et joyeux noël à toi et tes proches.

    Cdlt, PLV

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations forums :
    Inscription : Décembre 2012
    Messages : 73
    Points : 59
    Points
    59
    Par défaut
    Bonjour QuestVba,

    merci pour ce beau cadeau de noël, c'est exactement ce que je souhaitais.
    Il ne me reste plus qu'à décortiquer tes formules pour que je les comprenne histoire d'être moins bête.

    Bonne journée, et joyeux noël à toi et tes proches.

    Cdlt, PLV

  6. #6
    Membre expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 477
    Points : 3 865
    Points
    3 865
    Par défaut
    Hello,

    DECALER: permet de renvoyer une plage de cellules qui correspond à un nombre déterminé de lignes et de colonnes.

    DECALER(réf;lignes;colonnes;hauteur;largeur)
    • réf : Correspond à la référence à partir de laquelle le décalage doit être effectué.
    • lignes : Correspond au nombre de lignes de décalage par rapport à la première celulle de la plage réf (la cellule supérieure gauche). Un chiffre positif correspond à un décalage vers le bas, un chiffre négatif correspond à un décalage vers le haut.
    • colonnes : Correspond au nombre de colonnes de décalage par rapport à la première celulle de la plage réf (la cellule supérieure gauche). Un chiffre positif correspond à un décalage vers la droite, un chiffre négatif correspond à un décalage vers la gauche
    • hauteur : Correspond au nombre de lignes de la plage de cellules qui doit être renvoyée par la fonction DECALER.
    • largeur : Correspond au nombre de colonnes de la plage de cellules qui doit être renvoyée par la fonction DECALER.


    NBVAL : Permet de compter le nombre de cellules contenant des données dans une plage de cellules; permet de compter toutes les cellules qui ne sont pas vides.

    Combinées, elles donnent une plage dynamique variable. Utile si tu ajjoutes des données....

  7. #7
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations forums :
    Inscription : Décembre 2012
    Messages : 73
    Points : 59
    Points
    59
    Par défaut
    Merci QuestVba pour tes explications

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/06/2013, 08h51
  2. Réponses: 0
    Dernier message: 05/09/2011, 17h39
  3. [XL-2007] Faire correspondre la valeur d'une cellule en fonction d'une autre
    Par manuseverine dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 28/08/2010, 17h49
  4. Réponses: 8
    Dernier message: 17/08/2006, 16h16
  5. Faire apparaître une valeur inexistante en DB
    Par CyBeRoN dans le forum Langage SQL
    Réponses: 18
    Dernier message: 09/11/2005, 16h05

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