traduction de formul

D

dIDIER 2

Guest
bonjour,
J'ai une formule de date que voici

{=SI(MOIS(DATE(y;m;1))<>MOIS(DATE(y;m;1)-(JOURSEM(DATE(y;m;1))-1)+{0;1;2;3;4;5}*7+{1.2.3.4.5.6.7}-1);"";DATE(y;m;1)-(JOURSEM(DATE(y;m;1))-1)+{0;1;2;3;4;5}*7+{1.2.3.4.5.6.7}-1)}

y corespond a l'année
m corespond au mois

Cette phormul n'est pas de mon cru et donne normalement le premier jour du mois on m'a donné se fichier en exemple.
Par contre ce que je ne comprend pas c'est qu'appliqué a un tableau elle donne les jours de chaque mois.
alors qu'elle devrait renvoyer 1

Si vous pouvez me l'expliquer, car je nage un peu .
Je l'ai essayé sur un de mes tableau et malgrés la même mise en forme conditionnel elle me renvoi la bien la valeur 1 partout

meci
Didier 2
 

Pièces jointes

  • calandar.xls
    33 KB · Affichages: 59
D

dIDIER 2

Guest
je viens de faire des essais et apparament le bloc de cellule va ensemble.
Impossible de séparer les cellules ou il y a les dates, cela me parle de matrice.

J'en déduit donc que toutes les cellules sont liées entre elles et interagissent.
Par contre je ne sais pas comment l'on peux réalisé cela. En particulier rendre les cellules inséparablent avec la même formul pour des résultats different.

J'ai l'impression que pour utilisé cette formule, il va falloir que je copie l'ensemble des cellules d'un coups, puis refaire un collage sur une autre feuille.

Une ame Généreuse sur le forum pour me donner de plus ample information?

cordialement Didier 2
 
@

@Christophe@

Guest
Bonjour Didier

Moi je ne me basserai pas trop sur le fichier, que veux tu exactement, formule ta question, et eventuellement envoi un petit fichier, pour ta formule sais tu qu'il s'agit d'une formule matricielle et qu'il faut la validé par CTRL+SHIFT+ENTER et non uniqument ENTER comme les formule standart.

Voila

@Christophe@
 
M

Monique

Guest
Bonsoir,

Cette formule te donne un mois entier et pas seulement le premier jour d'un mois.
Tu choisis une plage de 35 cellules : 7 en largeur et 5 en hauteur
Tu recopies cette formule telle qu'elle est, dans la première cellule en haut à gauche de ta plage
Tu sélectionnes en même temps tes 35 cellules
Tu mets le curseur dans la barre de formule
Tu valides par ctrl + maj + entrée
Et tu obtiens un mois entier
Sept jours par ligne.

C'est une formule matricielle, une vraie.
En effet, on ne peut pas modifier ou supprimer une ou plusieurs cellules de cette matrice, on modifie tout ou on supprime tout après avoir sélectionné l'ensemble de la matrice.
 
J

Jacques

Guest
Bonsoir Didier,

effectivement, c'est une formule matricielle d'une matrice de 6 lignes par 7 colonnes.

je vais essayer de t'expliquer comment elle fonctionne;
tout d'abord date(y;m;1) te donne le nombre "système" correspondant au jour 1 du mois m de l'année y (pour le 1er février 2003 cela donnera 37653).
JOURSEM(DATE(y;m;1)) te donne le numéro du jour correspondant à la date ci-dessus (le 01/02/2003 est un samedi donc cela donnera 7).
{0;1;2;3;4;5}*7 correspond 0*7=0 pour les cellules de la 1ère ligne de la matrice, à 1*7=7 pour celles de la 2ème ligne, 2*7=14 pour la 3ème etc... (les nombres sont séparés par des ";" donc ils s'appliquent aux lignes)
{1.2.3.4.5.6.7} donne 1 pour la 1ere colonne, 2 pour la 2ème colonne, 3 pour la 3ème etc... (les nombres sont séparés par des "." donc s'appliquent aux colonnes.

Voilà j'espère qu'avec ces éléments tu arriveras à comprendre l'ensemble de la formule sinon dis-moi ce qui te paraît encore obscure et j'essaierai de t'expliquer plus clairement

bonne soirée
 
D

dIDIER 2

Guest
bonjour,
je saisi bien l'ensemble (d'une façon global)
ce type de formul m'interresse énormément ,existe t il un site qui appronfondisse (les bases) sur ces formules matricielles afin que je puisse en concevoir des simples dans un premier temps.
De plus doit-on saisir tout au clavier, ou ,comme pour le reste d'excell on peut séléctionner directement les plages de cellule ?

je retiens déja la syntax particuliere ; pour les lignes
et . pour les colonnes


Avec se style de formule on doit pouvoir imiter du vba (par son coté répétitif )?

cordialement

didier 2
 

Discussions similaires

Réponses
11
Affichages
1 K

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
314 017
Messages
2 104 584
Membres
109 084
dernier inscrit
mizab