> Tous les forums > Forum Bureautique
 Erreur dans macro
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
jemiyo
  Posté le 27/11/2009 @ 13:35 
Aller en bas de la page 
Petit astucien

Bonjour.

Je n'arrive pas à trouver ce qui cloche. D'autres verront peut être ce que je ne remarque pas.

Pour l'année 2009, 2011 et au dessus tout fonctionne.

Par contre pour l'année 2010, les 2 premiers WE me sorte la même personne???

Voir dossier: http://cjoint.com/?lBnIOQDoeT

Merci

Publicité
jemiyo
 Posté le 27/11/2009 à 13:37 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

re. Je viens de voir qu'en 2016, j'ai la même erreur.

A +

usularrakis
 Posté le 27/11/2009 à 15:12 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

salut

pourquoi tu ne demandes pas directement à l'auteur de la macro (mydearfriend ) ?

ferrand
 Posté le 27/11/2009 à 15:12 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonjour,

Il ne s'agit pas d'un problème de macro, [je ne l'ai pas regardée de toutes façons]. Le problème que tu rencontres est conceptuel.

Tu fais tourner cycliquement 4 personnes sur un cycle annuel de 52 semaines, 52 étant divisible par 4, le cycle peut se reconduire invariablement d'une année sur l'autre, la dernière de la liste termine l'année, la première la commence, sauf ... les années à 53 semaines ! [les années qui commencent un jeudi et les années bissextiles qui commencent un mercredi ont 53 semaines].

Dans ce cas, 53 te renvoyant le même décalage que 1, cela double le passage de la première de la liste en début d'année.

Ceci dit, si tu faisais tourner plus de personnes sur l'année, 5 ou 6 ou plus (ou moins 3 à l'inverse), tu aurais aussi d'autres irrégularités, dès lors que le nombre de semaines de l'année n'est plus un multiple du nombre de personnes dans le cycle. Cela se manifesterait généralement par des personnes sautées en passant d'une année à l'autre.

La bonne méthode me semblerait de trouver une méthode permettant de poursuivre le cycle par la personne qui suit celle qui termine l'année (qui termine l'année ISO, c'est à dire la dernière semaine, quelle que soit l'année civile où elle tombe). Par exemple, Danièle termine l'année 2009 (semaine 53), il faut donc démarrer 2010 (semaine 1) avec Nicole, et ainsi de suite jusqu'à la semaine 52 qui tombera alors sur Danièle et on continue avec Nicole jusqu'en 2015 où Nicole se trouvera sur la semaine 53 et la semaine 1 de 2016 devra être attribuée à Catherine.

Pour un résultat de ce type, le plus simple est de prendre le nombre de semaines écoulées à partir de l'initialisation du cycle (à la place du numéro de semaine de l'année). Par exemple, tu démarres demain 28 novembre, qui devient ta date de référence fixe.
La formule: =ENT((Cn-DateRéf)/7) te donne le nombre de semaines écoulées depuis cette date [La colonne C contient des dates, n correspond à la ligne testée, DateRéf correspond à 28/11/09 que tu peux stocker dans une cellule fixe, la formule sus-indiquée remplaçant alors An-1 dans ta formule de la colonne D, n étant le numéro de ligne]. Tu obtiendras alors un cycle régulier sur une période pluri-annuelle tant que le nombre de personnes ne varie pas.

S'il doit varier, tu auras à faire avec d'autres distorsions. Là je n'ai pas de solution simple, sauf réinitialiser le point de départ du cycle à chaque variation (ce qui oblige à conserver en "dur" (valeurs) la période antérieure au changement pour en garder trace).

Bon. Tu as au moins l'explication du phénomène.

A plus



Modifié par ferrand le 27/11/2009 15:17
jemiyo
 Posté le 27/11/2009 à 16:26 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Re

Exact Ferrand. J'avais zappé ce phénomène.

Il faut que je trouve une solution pour que l'année commence toujours par la SEMAINE 1.

A +

ferrand
 Posté le 27/11/2009 à 16:35 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

jemiyo a écrit :

Re

Exact Ferrand. J'avais zappé ce phénomène.

Il faut que je trouve une solution pour que l'année commence toujours par la SEMAINE 1.

A +

Ça, ça me paraît difficile ! Ce n'est pas toi qui décide. Le 1er janvier est dans la semaine 1 lorsqu'il s'agit d'un lundi, d'un mardi, d'un mercredi ou d'un jeudi. Sinon, il se trouve dans la semaine 52 (ou 53) de l'année précédente. Il s'agit d'une norme ISO.

jemiyo
 Posté le 27/11/2009 à 16:40 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Re

Pour l'instant j'ai juste remplace la 1ère colonne par la formule : =NO.SEMAINE(A2;2).

J'espère que cela n'altérera pas mes autres calculs.

A +

ferrand
 Posté le 27/11/2009 à 17:01 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Cette formule donne le numéro de semaine en vigueur aux USA, pas en France ni en Europe.

jemiyo
 Posté le 27/11/2009 à 19:07 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

C'est exact cher Ferrand.

Mais cela fonctionne bien pour ma formule en DECALER pour les prénoms.

Je cacherai par contre ces colonnes des semaines et j'en rajouterai une si besoin pour les semaines norme France.

Tout ceci en attendant de trouver mieux.

Merci et à +

Publicité
ferrand
 Posté le 27/11/2009 à 19:44 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Comme tu voudras ! Je t'ai fait ma proposition, incomplète certes mais à examiner en fonction du "règlement intérieur" ou ce qui en tient lieu. Car comme je l'ai dit dès le départ, le problème de fond n'est pas technique ! Le problème n° 1 c'est le choix de réinitialiser implicitement le cycle tous les ans. Le problème (apparent) apparu avec la 53e semaine ne fait en fait que montrer que ce choix n'est pas un bon choix. Mais ce choix n'a rien de technique (c'est un choix "politique"). Entre parenthèses, si je faisais partie de ta liste, tu m'aurais déjà entendu émettre de vives protestations... Dans un cycle de ce type, il y a certes un point de départ, mais pour qu'il fonctionne (avec l'agréement de tous) on ne l'interrompt plus. L'autre problème est que la liste des gens impliqués par le cycle est rarement fixe, déjà sur une seule année (alors à 6 ans !). Et dans les périodes où elle ne subit pas de variations, il y a au moins les congés, les maladies et autres impondérables qui nécessitent des règles d'affectation que ton automatisme de programmation annuelle ne prend pas en compte, dans la mesure où elles ont été définies s'entend (si elles ne l'ont pas été, il vaudrait mieux qu'elles le soient).

jemiyo
 Posté le 28/11/2009 à 18:36 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Cher Ferrand.

En attendant mieux, ma formule fonctionne.

Pour la mise à jour chaque année, je change juste l'ordre des personnes en celulles (AF 13 à AF 20).

Bon WE.

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
399,99 €Ecran 34 pouces Acer (FreeSync, IPS, 3440x1440 pixels) à 399,99 €
Valable jusqu'au 15 Avril

Boulanger fait une promotion sur l'écran 34 pouces Acer CB342CKCsmiiphuzx qui passe à 399,99 € alors qu'on le trouve ailleurs autour de 499 €. Cet écran adapté aux joueurs possède une dalle IPS d'une résolution de 3440x1440 pixels, offre un temps de réponse de 1 ms, un rafraichissement de 75 Hz et est compatible FreeSync. 


> Voir l'offre
255,60 €SSD Interne M.2 NVMe Samsung 970 Evo Plus 2 To à 255,60 € livré
Valable jusqu'au 15 Avril

Amazon Allemagne fait une promotion sur le SSD Interne M.2 NVMe Samsung 970 Evo Plus 2 To qui passe à 251,08 €. Comptez 4,52 € pour la livraison en France soit un total de 255,60 € livré. On le trouve ailleurs autour de 300 €. Ce SSD offre des taux de transfert de 3400 Mo /s en lecture et 2300 Mo/s en écriture. 

Vous pouvez utiliser votre compte Amazon France sur Amazon Allemagne et il n'y a pas de douane.


> Voir l'offre
21 €Clé USB Sandisk Ultra Go 128 Go à double connectique USB 3.1 Type A et C à 21 €
Valable jusqu'au 15 Avril

Amazon fait une promotion sur la clé USB Sandisk Ultra Go 128 Go à double connectique USB 3.1 Type A et C qui passe à 21 €. Cette clé USB  dispose d'un connecteur USB Type C et d'un connecteur classique de type A. Grâce à elle, transférez en toute simplicité et rapidement (jusqu'à 150 Mo/s) vos fichiers entre vos smartphones, tablettes et ordinateurs. On la trouve ailleurs à plus de 35 €.


> Voir l'offre

Sujets relatifs
Macro introuvable / Erreur de compilation dans le module caché
2 pages par feuille dans macro excel
erreur macro
Creation d' une boucle macro dans fichier EXCEL pour impression
macro afficher masquer lignes tableau dans word 2010
Ecrir par macro dans des cellules différents
[chemin relatif dans une macro]
Erreur date avec macro/ incapable d'ouvrir ailleurs que chez moi
se positionner avec une macro dans une cellule précise
Place du curseur dans macro
Plus de sujets relatifs à Erreur dans macro
 > Tous les forums > Forum Bureautique