apparition automatique des dates  Sujet résolu

Pour toutes vos questions à propos d'Excel ...

Re: apparition automatique des dates

Messagepar Amadéus » 24 Jan 2012, 12:16

Bonjour
Formules matricielles en D6 à valider avec les 3 touches Ctrl+Maj (Shift) +Entréeet à incrémenter vers le bas.
Code: Tout sélectionner
=SI(MOIS((7*C6+DATE(A6;1;3)-JOURSEM(DATE(A6;1;3))-5))=MOIS("1/"&INDIRECT("$B"&MAX(NON(ESTVIDE($B$6:B6))*LIGNE($B$6:B6))));TEXTE((7*C6+DATE(A6;1;3)-JOURSEM(DATE(A6;1;3))-5);"jj");"") &CAR(32)& SI(MOIS((7*C6+DATE(A6;1;3)-JOURSEM(DATE(A6;1;3))-5)+1)=MOIS("1/"&INDIRECT("$B"&MAX(NON(ESTVIDE($B$6:B6))*LIGNE($B$6:B6))));TEXTE((7*C6+DATE(A6;1;3)-JOURSEM(DATE(A6;1;3))-5)+1;"jj");"")&CAR(32)&SI(MOIS((7*C6+DATE(A6;1;3)-JOURSEM(DATE(A6;1;3))-5)+3)=MOIS("1/"&INDIRECT("$B"&MAX(NON(ESTVIDE($B$6:B6))*LIGNE($B$6:B6))));TEXTE((7*C6+DATE(A6;1;3)-JOURSEM(DATE(A6;1;3))-5)+3;"jj");"")&CAR(32)&SI(MOIS((7*C6+DATE(A6;1;3)-JOURSEM(DATE(A6;1;3))-5)+4)=MOIS("1/"&INDIRECT("$B"&MAX(NON(ESTVIDE($B$6:B6))*LIGNE($B$6:B6))));TEXTE((7*C6+DATE(A6;1;3)-JOURSEM(DATE(A6;1;3))-5)+4;"jj");"")


Il existe tout de même une méthode pour simplifier ceci ou plus exactement nommer chaque partie de cette formule et reconstituer une nouvelle formule avec les noms définis. Plus parlant, moins rébarbatif et plus performant.
Quand tu auras assimilé les formules de ce fichier, fais signe, le second est prêt.
Cordialement
Fichiers joints
Nyre.xls
(128.5 Kio) Téléchargé 4 fois
Amadéus vous informe que, pour cause de saturation, il ne peut plus répondre aux messages privés non sollicités.
Amadéus
Modérateur
 
Messages: 10872
Inscription: 07 Mai 2006, 11:18
Localisation: Ariège-Pyrénées France
Version Excel: Office Excel 2003 FR

Re: apparition automatique des dates

Messagepar Nyre » 24 Jan 2012, 20:23

:alu:
Ok ça fonctionne sauf que ...…
Lorsqu'on change d'année (scolaire), les numéros des lignes ne correspondent plus toujours exactement au même mois que l'année précédente pour un même numéro de semaine. La formule devient alors incohérente sur la prise en compte de la cellule qui se trouve sur la ligne précédent celle qui doit faire apparaître les dates dans la colonne D.
Ça oblige à redéfinir les cellules fusionnées des mois et revalider (par la combinaison Ctrl+Maj+Entrée) les cellules de la colonne D qui sont en erreur #REF.

Est-ce que la seconde méthode dont tu parles permet d'éviter ces ajustements en ne tenant compte que des noms des mois et des numéros de semaines ?

Cordialement

::B- ::B-
Avatar de l’utilisateur
Nyre
Membre habitué
 
Messages: 58
Inscription: 06 Mai 2011, 10:28
Version Excel: 2003

Re: apparition automatique des dates  Sujet résolu

Messagepar Amadéus » 24 Jan 2012, 21:45

Bonjour
Faut pas pousser!
C'est toi qui a défini les actions à mener en disant (je cite)
Une fois que j'ai rempli les colonnes "années", "Mois", et "N° de semaine"
alors, si quand tu changes d'année, les lignes ne correspondent plus, je pense que tu es seul responsable.

Quelle que soit la méthode, le changement, s'il n'est pas programmé produira les mêmes erreurs.

A titre indicatif, le second fichier
Cordialement
Fichiers joints
Nyre.xls
(41.5 Kio) Téléchargé 3 fois
Amadéus vous informe que, pour cause de saturation, il ne peut plus répondre aux messages privés non sollicités.
Amadéus
Modérateur
 
Messages: 10872
Inscription: 07 Mai 2006, 11:18
Localisation: Ariège-Pyrénées France
Version Excel: Office Excel 2003 FR

Re: apparition automatique des dates

Messagepar Nyre » 24 Jan 2012, 22:54

:sp:
Efectivement,
Plus parlant, moins rébarbatif et plus performant


Sans rien décortiquer on comprend tout de suite ce qu'on cherche, mais je ne connais pas l'écriture du dernier fichier et elle m'intrigue :
pour moi, CAR suivi d'un nombre entre parenthèse me demandait de chercher le ènième caractère ...

Est-ce que je peux encore abuser de ta patience ? (ou non ?) :chut: :
&CAR(32) comment je le traduis et à quoi correspond le nombre 32 ?

En tout cas je te remercie beaucoup pour ta patience et ton efficacité |k) |k)
Tout fonctionne °oO

A bientôt j'espère :D
Avatar de l’utilisateur
Nyre
Membre habitué
 
Messages: 58
Inscription: 06 Mai 2011, 10:28
Version Excel: 2003

Re: apparition automatique des dates

Messagepar Amadéus » 24 Jan 2012, 23:35

Bonjour

Sur ce nouveau fichier, tu sélectionnes l'année en B2 de Feuil1 et les 2 feuilles s'adaptent.
CAR désigne le caractère défini par son numéro de Code
=CAR(32) est le caractère espace standard obtenu avec la barre de formule
=CAR(65) renvoie A et =CODE("A") renvoie 65
Cordialement
Fichiers joints
Nyre.xls
(42 Kio) Téléchargé 2 fois
Amadéus vous informe que, pour cause de saturation, il ne peut plus répondre aux messages privés non sollicités.
Amadéus
Modérateur
 
Messages: 10872
Inscription: 07 Mai 2006, 11:18
Localisation: Ariège-Pyrénées France
Version Excel: Office Excel 2003 FR

Re: apparition automatique des dates

Messagepar Nyre » 26 Jan 2012, 12:13

:bien: :bien:
Ce dernier fichier est très intéressant.
Je pense que ma feuille de calcul n'était pas bien pensée au départ (rapport aux semaines à cheval sur deux mois) : c'est bancal.
J'ai éliminé les cellules "mois" (en acceptant qu'une même cellule "N°semaine" soit sur deux mois différents).
J'ai donc créé une liste déroulante (au modèle de ton dernier fichier) qui va me permettre d'anticiper les années sur les feuille supplémentaires, et j'ai utilisé ta formule qui ne tenait pas compte des cellules "mois". Cette formule (qui commence par TEXTE(…)) me permet aussi d'éviter le problème de la semaine 53 ou semaine 1 entre Excel et le calendrier civil.

Je joins le fichier qui parle mieux.
Nyre def.xls
(26 Kio) Téléchargé 3 fois


Tes multiples propositions m'ont permis de faire le tour du problème et d'avoir un choix de solutions.
Encore un GRAND :merci:

Corialement
Nyre
Avatar de l’utilisateur
Nyre
Membre habitué
 
Messages: 58
Inscription: 06 Mai 2011, 10:28
Version Excel: 2003

Précédente

Retourner vers Excel - VBA

 


  • Sujets similaires
    Réponses
    Vus
    Dernier message

Utilisateurs en ligne

Utilisateurs parcourant ce forum: ait haddou, Bing [Bot], Google Adsense [Bot] et 18 invités