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 :

Fonction DECALER, #VALEUR [XL-2019]


Sujet :

Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2020
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Août 2020
    Messages : 4
    Par défaut Fonction DECALER, #VALEUR
    Bonjour à tous,

    Ce que je souhaite faire est basique.

    De A50 à A100, une liste de valeur monétaire et par exemple, de A70 à A100, vide.

    Je souhaite qu'un graphique s'actualise proprement lorsque des valeurs sont ajoutées donc je nomme une plage de cellule et j'utilise cette formule : =DECALER($A$50;;;NB($A$50:$A$100)).

    Mon problème est que si les arguments hauteur ou largeur sont supérieurs à 1, j'obtiens #VALEUR. Si j'utilise =SOMME(DECALER(ref;;;5)), cela fonctionne par exemple et j'obtiens le bon résultat. Si j'utilise =DECALER(ref;;;1;1), j'obtiens la valeur de référence.

    Ma référence étant elle même une référence absolue à une cellule d'une autre feuille du même classeur, j'ai essaye sur des valeurs brutes. Même résultat.

    J'ai essayé sur 3 installations Office 2019 Plus. Si sur la première j'obtiens #VALEUR, sur la seconde et la troisième j'obtiens uniquement la référence de la cellule. Autrement dit, l'argument Hauteur est ignoré même si supérieur à 1 et donc seule la case où la formule est présente, s'actualise.

    Je pense saisir le fonctionnement de la fonction puisque sur google sheet, ça fonctionne et les valeurs s'actualisent au fur et à mesure. Je ne saisi pas quelle est la subtilité ici.

    Je vous remercie par avance pour votre temps et votre aide.

  2. #2
    Membre émérite
    Homme Profil pro
    ingénieur d'étude
    Inscrit en
    Juin 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ingénieur d'étude
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2013
    Messages : 563
    Par défaut
    Bonjour,

    Citation Envoyé par Nidhogg82 Voir le message
    donc je nomme une plage de cellule et j'utilise cette formule : =DECALER($A$50;;;NB($A$50:$A$100))
    Pas certain d'avoir bien compris ce que vous faîtes, mais il est possible que vous nommiez une plage plutôt que d'utiliser le gestionnaire de noms.
    Est-ce bien cela ?

    Si oui, utilisez plutôt le gestionnaire de noms pour faire ce que vous envisagez.

    Cdt

  3. #3
    Membre émérite
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 385
    Par défaut
    Bonjour,

    Je ne sais pas si le problème vient de là, mais déjà les 3 premiers arguments de la fonction DECALER sont obligatoires.
    Il faut donc écrire la formule sous cette forme :
    Code formule : Sélectionner tout - Visualiser dans une fenêtre à part
    =DECALER($A$50;0;0;NB($A$50:$A$100))

  4. #4
    Membre émérite
    Homme Profil pro
    ingénieur d'étude
    Inscrit en
    Juin 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ingénieur d'étude
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2013
    Messages : 563
    Par défaut
    Bonjour Mat,

    Le fait d'enchaîner les points-virgules est interprété par Excel comme la présence d'arguments égaux à zéro.
    Ce qui est interdit, c'est d'écrire :Mais il n'y a pas de problème (en tout cas dans Excel 2016) avec la formulation :Cdt

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2020
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Août 2020
    Messages : 4
    Par défaut
    Merci pour vos réponses

    Pour ce qui est de nommer la plage, je passe par le gestionnaire de nom pour l'effectuer. Sinon, de manière générale, je n'ai pas de soucis à ce niveau.

    Je précise que j'ai vraiment essayer beaucoup de combinaisons (je fais bien la différence entre la version anglaise ( avec ,), de la version française (; ) et qu'a priori, la syntaxe n'est pas le problème car j'obtiens des résultats quand j'utilise la fonction.

    Mon problème a 2 niveaux.

    Si on considère que la fonction DECALER permet, à partir d'une référence donnée, de référencer dynamiquement une plage de cellules grâce notamment à l'argument hauteur,

    alors mon premier problème se situe au fait que lorsque l'argument hauteur est supérieur à 1 (il ne peut pas être égal à 0 a priori), #VALEUR est renvoyé,

    alors mon second problème, lorsque le premier est "résolu" (autre installation Office 2019 sur un autre ordinateur), c'est que même si l'argument hauteur a pour valeur 5, seule la cellule où la fonction est inscrite affiche une valeur (au lieu des 5 cellules subséquentes).

    Comme les installations Office 2019 dont je dispose ne "fonctionnent" pas à ce niveau, j'ai essayé sur google sheet pour savoir si le problème venait de ma compréhension de la fonction ou non. Sur Google sheet j'obtiens le résultat escompté donc j'en appelle à vous.

    Je me demande si c'est une question de formatage de la cellule de référence (monétaire ou standard), est ce que c'est parce que les cellules de référence comportent des formules pour déterminer leur valeur respective. J'ai donc plus ou moins essayer cela, en vain.

  6. #6
    Membre émérite
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 385
    Par défaut
    Citation Envoyé par Nidhogg82 Voir le message
    alors mon second problème, lorsque le premier est "résolu" (autre installation Office 2019 sur un autre ordinateur), c'est que même si l'argument hauteur a pour valeur 5, seule la cellule où la fonction est inscrite affiche une valeur (au lieu des 5 cellules subséquentes).
    Je pensais que tu utilisais la fonction DECALER dans le gestionnaire de nom pour t'en servir dans un graphique.
    Mais de ce que je comprends de cette phrase ci-dessus, tu l'utilises dans plusieurs cellules du classeurs c'est bien ça ?

    Si c'est le cas, c'est normal que la fonction te renvoie un erreur, car la fonction DECALER est là pour renvoyer une référence à une plage.
    Si la référence renvoyée à pour dimensions 1 ligne et 1 colonne, alors effectivement on peut l'utiliser dans une cellule, Excel renverra la valeur de la cellule à laquelle la fonction fait référence.
    Par contre si la référence renvoyée a des dimensions plus grande (c'est-à-dire une plage), alors Excel ne peut pas mettre de résultat dans une cellule, ça paraît logique.

    La fonction DECALER ne peut être utilisée que dans le gestionnaire de nom dans ton cas, et ça doit fonctionner normalement.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2020
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Août 2020
    Messages : 4
    Par défaut
    Citation Envoyé par mat955 Voir le message
    Je pensais que tu utilisais la fonction DECALER dans le gestionnaire de nom pour t'en servir dans un graphique.
    Mais de ce que je comprends de cette phrase ci-dessus, tu l'utilises dans plusieurs cellules du classeurs c'est bien ça ?

    Si c'est le cas, c'est normal que la fonction te renvoie un erreur, car la fonction DECALER est là pour renvoyer une référence à une plage.
    Si la référence renvoyée à pour dimensions 1 ligne et 1 colonne, alors effectivement on peut l'utiliser dans une cellule, Excel renverra la valeur de la cellule à laquelle la fonction fait référence.
    Par contre si la référence renvoyée a des dimensions plus grande (c'est-à-dire une plage), alors Excel ne peut pas mettre de résultat dans une cellule, ça paraît logique.

    La fonction DECALER ne peut être utilisée que dans le gestionnaire de nom dans ton cas, et ça doit fonctionner normalement.
    Je comprends. Merci. Pour le graphique, ça semble ne pas me renvoyer "#VALEUR" cette fois.

    Cependant, dans les vidéos sur la fonction DECALER, j'ai pu noter que lorsque la hauteur >1 (et admettons que largeur=1), les résultats de la plage de cellules s'affichaient automatiquement en valeur brutes dans les cellules en dessous ce qui permettait un affichage dynamique par la suite. Si hauteur =5, les 5 premières cellules de la colonne de référence sont affichées par exemple. Avec la fonction NB, si 3 cellules seulement sont remplies avec des nombres, je n'ai que 3 cellules qui s'affichent avec la 1ère cellule comportant la formule en B1 =DECALER(ref;;;NB($A$1:$A$5)) par exemple. Si je remplis A4 avec "5" par exemple, B4 va m'afficher "5" normalement.

    En gros, normalement, je peux obtenir ça :

  8. #8
    Membre émérite
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 385
    Par défaut
    Ok, on est sur de la formule matricielle.

    Dans ce cas effectivement tu peux sélectionner toutes tes cellules, écrire ta formule, et au lieu de la valider avec la touche ENTREE, tu la valides en appuyant simultanément sur les touches CTRL + MAJ + ENTREE

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2020
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Août 2020
    Messages : 4
    Par défaut
    ça marche ! Bien reçu, merci.

    Je passe en résolu alors

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

Discussions similaires

  1. mettre à jour un dataset en fonction des valeurs qu'il contient ?
    Par isachat666 dans le forum Bases de données
    Réponses: 2
    Dernier message: 07/06/2006, 14h03
  2. Fonctions et valeur par default
    Par Goundy dans le forum C
    Réponses: 5
    Dernier message: 27/02/2006, 23h16
  3. [vbexcel]tri ou regroupement de ligne en fonction de valeur.
    Par Mugette dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/12/2005, 19h22
  4. Réponses: 4
    Dernier message: 23/09/2005, 15h15
  5. fonction operator, valeur de retour
    Par butch dans le forum C++
    Réponses: 21
    Dernier message: 20/09/2004, 11h30

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