Decaler() et colonne()

tiow

XLDnaute Nouveau
Bonjour,

Ci joint un fichier avec mon soucis.

Pour deux formules identiques, excel me sort une fois le résultat juste, une fois #valeur.

Pour la premiere j'ai décomposer la formule en faisant Insertion > noms > définir,
pour la deuxième formule j'ai tout mis dans une cellule ...

Lorsque je lance une évaluation de formule "colonne()-4" me renvoie parfois une matrice .. le soucis vient-il de là?

Si quelqu'un pouvait regarder,

Par avance, merci

Thibaut.
 

Pièces jointes

  • Pb formules.zip
    7.5 KB · Affichages: 76

tiow

XLDnaute Nouveau
Re : Decaler() et colonne()

Bonjour à tous,

Je me permet de faire remonter ce sujet pour savoir si quelqu'un aurait une réponse?
J'ai pu contourner le problème, donc c'est uniquement pour ne pas rester bête.
Est ce un problème d'Excel, ou bien cela vient il de moi?

Bonne fin de week end!

Thibaut.
 
C

Compte Supprimé 979

Guest
Re : Decaler() et colonne()

Salut Tiow,

Effectivement après plusieurs tests, si on remplace : Colonne()-4
par tout simplement : 0
Cela fonctionne :rolleyes:

Etrange voir même bizarre :confused:

Dis P'tites Couettes si tu passes par là, tu pourrais nous expliquer ...

Au toi, Grande Dame des produits matriciels

A+
 

tiow

XLDnaute Nouveau
Re : Decaler() et colonne()

:) Salut,

Cela fait du bien de ne pas se sentir seul !

Puisque je m'étais posé ce problème car je voulais transposer cette formule en vba, j'avais évité le problème en mettant "=(colonne()-4)*5)" dans une cellule et en récupérant sa valeur ..

Seulement j'aimerai bien comprendre ce problème :)

Si l'on met le "decaler(..)" dans une cellule seule cela renvoie "#valeur" mais si on valide par ctrl+maj+entrée cela fonctionne ...

Alors j'ai essayé de remplacer sommeprod par somme puis de valider par ctrl+maj+entrée mais rien ...

J'en appel donc comme toi aux forces supérieures des produits matriciels !

@ +
 
C

Compte Supprimé 979

Guest
Re : Decaler() et colonne()

:) Salut,
Cela fait du bien de ne pas se sentir seul !
Tu m'etonnes, il y a des moments comme ça,
ou le vide informatique nous aspire et on a beau crier au secours ... rien ... :D

Puisque je m'étais posé ce problème car je voulais transposer cette formule en vba, j'avais évité le problème en mettant "=(colonne()-4)*5)" dans une cellule et en récupérant sa valeur ..
C'est effectivement une solution !

Seulement j'aimerai bien comprendre ce problème :)
Et moi donc !

Si l'on met le "decaler(..)" dans une cellule seule cela renvoie "#valeur" mais si on valide par ctrl+maj+entrée cela fonctionne ...
Ca, c'est normal !
La fonction Decaler() retourne une plage de cellule, donc si tu mets la fonction comme ça,
Excel ne sait pas calculer le résultat !
Par contre avec CTRL+MAJ+ENTREE tu entre dans la Matrice ;)
Et là, Excel te retourne la première valeur

Alors j'ai essayé de remplacer sommeprod par somme puis de valider par ctrl+maj+entrée mais rien ...
Non, ça ne peut pas fonctionner comme ça, il faut bien utiliser un produit matriciel, donc : SOMMEPROD()

J'en appel donc comme toi aux forces supérieures des produits matriciels !
Il faut peut être envoyer un MP à P'tites couettes (Alias Brigitte)

A+
 

Brigitte

XLDnaute Barbatruc
Re : Decaler() et colonne()

Bonjour,

J'ai bien entendu vos appels au secours. Mais malheureusement vous vous trompez de grande dame. La grande dame en Matricielles c'est Monique. Et d'autres sont doués aussi : jeanmarie, jocelyn, tibo...

Moi je n'y connais rien de rien. J'appelle Monique à la rescousse avec mon tam tam... Depuis St Brieuc, elle devrait l'entendre... Et j'ai fait un ti mot à Jocelyn, si des fois il avait 5 mn, je sais qu'il est débordé ;-) ; encouragements si tu passes par là...

Je vous souhaite à tous bon courage, ca va finir par se résoudre, foi d'xldienne.
 
Dernière édition:

tiow

XLDnaute Nouveau
Re : Decaler() et colonne()

Et bien ça, s'en est une de gentille attention :)
Merci beaucoup.

En attendant je ne me suis plus trop pencher sur le problème, j'en avais marre de bloquer sur une si petite formule !

Bonne soirée,

Thibaut.
 

Tibo

XLDnaute Barbatruc
Re : Decaler() et colonne()

Bonsoir,

Je suis également très intrigué par le comportement de DECALER avec COLONNE.

Cela dit, il y a une solution en nommant cette partie de formule :

Code:
=DECALER(Détail!$F$10;;(COLONNE()-4)*5;1000;5)
on peut par exemple lui donner le nom : form

Ensuite, la formule devient :

Code:
=SOMMEPROD((Critere1=Bilan!$A7)*(Critere2=Bilan!$B7)*
(Critere3=Bilan!$C7)*[COLOR=blue][I]form[/I][/COLOR])

Cela dit, je n'ai pas les compétences ni l'expérience nécessaires pour apporter une explication sur le pourquoi de la première formule qui ne fonctionne pas.

Reste à compter sur le passage de notre Reine es Matrices.

Monique, si tu nous entends ...

Bonne soirée

@+
 

Brigitte

XLDnaute Barbatruc
Re : Decaler() et colonne()

Qu'est ce que je disais : les maîtres incontestés de la matricielle et voici notre Tibo (encore un) qui s'y colle ! Comment ca Tibo, tu raccroches le tablier ? ca te ressemble pas, je n'y crois pas...

Pourvu que Monique vienne, elle m'a promis !! j'irai la chercher au milieu de sa brume bretonne, s'il le faut.

Bisous
 

Tibo

XLDnaute Barbatruc
Re : Decaler() et colonne()

re,

Bonsoir Brigitte,

Je reconnais humblement n'avoir pas tous les neurones en état de plancher sur le sujet.

La seule piste que j'ai :

Le fait de nommer une formule permet d'éviter la validation matricielle.

Jusque là, c'est facile.

Mais je n'arrive pas à poursuivre ma démonstration au delà.


Bises et bonne soirée à toi.

@+
 
C

Compte Supprimé 979

Guest
Re : Decaler() et colonne()

Bonsoir tout le monde,

Il y a une autre solution, c'est d'utiliser la fonction EQUIV()
pour trouver la colonne ou figure la semaine en question

Ce qui donne : =SOMMEPROD((Critere1=$A7)*(Critere2=$B7)*(Critere3=$C7)*(DECALER(Détail!$A$10;;EQUIV(D$5;Détail!$6:$6;0)-2;1000;5)))

Et caaaaaa maaaarrccchheee
sontfous.gif


A+
 

Pièces jointes

  • Tiow_Pb formules1.xls
    23.5 KB · Affichages: 62

tiow

XLDnaute Nouveau
Re : Decaler() et colonne()

Bonsoir à tous,

Dans ta formule BrunoM45, lorsque l'on fait une évaluation des formules, "equiv(..)" renvoie bien 5, alors que dans ma formule "colonne()-4" renverrai {5}.

Pourquoi {5} et pas 5 ?? Colonne() n'a rien de matriciel !??:confused:

@ +
 
C

Compte Supprimé 979

Guest
Re : Decaler() et colonne()

RE,

Euréka
yaisse.gif

Je viens de trouver un truc super intéressant sur le site de microsoft,
qui explique pourquoi le problème et comment le contourner :rolleyes:

XL: COLONNE renvoie une matrice des n° de colonnes

En fait : Colonne() ne retourne pas le numéro de colonne, mais la matrice des numéros de colonnes
evilred.gif


Pour contourner il faut mettre : Index(Colonne();1;1)

Yeeeeeeeesssssss ....

Dite M'sieur chrosoft, vous pourriez pas m'être votre aide à jour :confused:
 

Discussions similaires

Statistiques des forums

Discussions
312 495
Messages
2 088 964
Membres
103 992
dernier inscrit
Christine 974