1. Ce site utilise des "témoins de connexion" (cookies) conformes aux textes de l'Union Européenne. Continuer à naviguer sur nos pages vaut acceptation de notre règlement en la matière. En savoir plus.

calendrier excel

Discussion dans 'Forum Excel' démarrée par Laetitia L, 6 Juin 2018.

  1. Laetitia L

    Laetitia L XLDnaute Nouveau

    Inscrit depuis le :
    7 Mai 2018
    Messages :
    45
    "J'aime" reçus :
    0
    1) Ligne 6: autorisés Jeudi ou Vendredi
    colJ: vendredi 20 juillet
    ColM: on ne s'occupe PAS des jours autorisés.. on fait juste +colK + Col L ==> Correct? oui, ol s'agissait juste de faire une étape entre les 2
    ==> finalement la colonne L, ne sert pas à grand chose.. d'ailleurs.. elle est vide. --> si le décalage en colonne L correspond au décalage pour la première collecte, mais elle n'est pas prise en compte dans la colonne N, ce qui est une erreur de ma part
    donc ColM=Mercredi 10 oct 2018 (Mercredi n'étant pas dans la liste des jours)

    ColN: on S'OCCUPE des jours autorisés: on passe donc directemnent au jour autorisé le plus proche: ici. le Jeudi 11 oct 2018
    (dans le cas ou on est déjà sur le jour autorisé.. il ne faut pas faire +1 semaine.. mais rester sur le jour: correct?) oui c'est ça !

    Col P: On tient compte de la colK (NbrJourEntre Coll) ET col L (décalage) ET Jours précis..
    THE question:
    le décalage s'applique à quoi? le décalage s'applique à la date de la colonne de gauche
    Toujours dans la ligne 6: on part du jeudi 11 Oct 2018 avec Décalage =0 ??: le décalage est à 0 car j'ai fait des tests sur la macro, et pour que la collecte que j'ai déplacé dans le calendrier se remette à son emplacement initial, il faut mettre 0 dans la colonne D du calendrier et faire fonctionner la macro. Ducoup il reporte ce numéro dans la colonne O de l'onglet instruction
    * NbrJourEntre Coll =82.5 ===>on arrive donc au Mardi 1er Janvier 2019
    * Decalage=0 ==> 01 Janvier 2019
    *Jour Précis (jeudi ou vendredi)===> on passe au plus proche ==> Jeudi 03 Janvier 2019 OUI

    Toujours dans la ligne 6: on part du jeudi 11 Oct 2018 avec Décalage =1 ??:
    * NbrJourEntre Coll =82.5 ===>on arrive donc au Mardi 1er Janvier 2019
    * Decalage=1 ==> mercredi 2 Janvier 2019 (ca revient juste à ajouter un jour entre deux collectes.) OUI
    *Jour Précis (jeudi ou vendredi)===> on passe au plus proche ==> Jeudi 03 Janvier 2019

    OU ALORS.. le décalage s'applique APRES le jour précis
    * NbrJourEntre Coll =82.5 ===>on arrive donc au Mardi 1er Janvier 2019
    *Jour Précis (jeudi ou vendredi)===> on passe au plus proche ==> Jeudi 03 Janvier 2019
    * Decalage=1 ==> Vendredi 4 Janvier 2019 (qui est un jour autorisé)
    ==> avec un décalage de 2: on serait donc arrivé à Jeudi 10 Janvier 2019... C EST CA


    Dernière question: as tu besoin de voir les formules dans ton tableau ou une macro qui mettrait directement le résultat ferait l'affaire?
    j'ai peur qu'avec une fonction personalisée.. ce soit très long d'execution..
    ça serait très bien mais pour le moment je préfère que le tableau soit facilement modifiable, de plus une fois que ce tableau sera fini ce n'est pas moi qui vais l'utiliser, il faudrait donc que ce soit simplifier au maximum et qu'on puisse retrouver les calculs
     
  2. vgendron

    vgendron XLDnaute Barbatruc

    Inscrit depuis le :
    24 Février 2009
    Messages :
    4893
    "J'aime" reçus :
    491
    Utilise:
    Excel 2007 (PC)
    Bon..
    alors.. je vais peut etre te décevoir.. (ou pas). mais avec formule.. j'y arrive pas.. du coup. suis passé à mon idée, de faire tout ca par macro

    dans la PJ
    la feuille Instruction a été vidée de toutes les infos qui doivent etre calculées.
    reste UNIQUEMENT ce que tu saisis à la main
    Colonnes B, C, D, E, I, et J
    les colonne FGH sont remplies en fonction de la colonne E (qui doit contenir les jours séparés par un ";")
    colonne K est calculée par la macro
    Les décalages sont alimentées par l'autre macro quand tu modifies le calendrier
    et les dates de collecte sont calculées par la macro (bouton "Calculer Dates de Collecte")
    l'avantage, c'est que, c'est beaucoup plus rapide d'execution, et surtout beaucoup plus "simple" à coder...

    Pour l'instant, cette macro est lancée par le bouton
    mais elle peut aussi etre lancé à chaque modif des décalages.; ou date ou autre..

    J'ai commenté un maximum le code, je te laisse regarder
    et essayer, ne serait ce que pour vérifier qu'il n'y a pas d'erreur dans les dates...
    genre; regarde les lignes
    ligne 2 (UN jour spécifié),
    ligne 6(Deux jours spécifiés)
    et la ligne 17 (PAS de jour spécifié)
     

    Pièces jointes:

  3. Laetitia L

    Laetitia L XLDnaute Nouveau

    Inscrit depuis le :
    7 Mai 2018
    Messages :
    45
    "J'aime" reçus :
    0
    Alors, c'est très bien ce que vous avez fait, le fait de laisser les cellules taper à la main c'est une bonne idée.
    Par contre j'ai fait un test et un message d'erreur apparait sur la macro :
    upload_2018-7-6_16-7-54.png
     
  4. vgendron

    vgendron XLDnaute Barbatruc

    Inscrit depuis le :
    24 Février 2009
    Messages :
    4893
    "J'aime" reçus :
    491
    Utilise:
    Excel 2007 (PC)
    A quel moment as tu ce message?
    parce que je viens de re cliquer sur le bouton. et tout se passe bien..
     
  5. vgendron

    vgendron XLDnaute Barbatruc

    Inscrit depuis le :
    24 Février 2009
    Messages :
    4893
    "J'aime" reçus :
    491
    Utilise:
    Excel 2007 (PC)
    Et je viens de voir qu'il faut modifier la macro des décalages. car elle inscrit des "D" dans la feuille "Instructions"
    Code (Visual Basic):

    Sub DécalageToInstructions()
     Application.ScreenUpdating = False
     Application.Calculation = xlCalculationManual

    With Sheets("Calendrier")
         nbcol = .Range("TabCalend").Columns.Count 'nb de colonnes dans la zone TabCalend
         nblig = .Range("TabCalend").Rows.Count 'Nb de lignes à parcourir dans la zone TabCalend
         For i = 1 To nbcol Step 7 'on parcourt les dates de la zone "TabCalend" qui sont une colonne sur 4
             For j = 1 To nblig 'pour chaque ligne
                 ville = .Range("TabCalend").Item(j + 2, i) 'on récupère la ville
                 IndJour = (Int(j / 9) Mod 9) * 9 'numéro de ligne de la date à prendre en compte
                 Jour = .Range("TabCalend").Item(IndJour + 2, i) 'la date
                 Decalage = .Range("TabCalend").Item(j + 2, i + 2) 'on récupère le décalage
                  If ville <> "" And Decalage <> "" And Decalage <> "D" Then 'si il y a une ville ET un décalage
                     With Sheets("instructions") 'dans la feuille Instructions
                         Set ici = .Range("TabInst").Find(ville, lookat:=xlWhole) 'on cherche le nom EXACT de la ville
                         If Not ici Is Nothing Then 'si on l'a trouvée
                             .Range("O" & ici.Row) = Decalage 'on met le décalage dans la colonne P de la meme ligne
                         End If
                     End With
                     .Range("TabCalend").Item(j + 1, i + 1).ClearContents 'on efface le décalage de la feuille Calendrier
                 End If
             Next j
         Next i
    End With

     Application.Calculation = xlCalculationAutomatic
     Application.ScreenUpdating = True

    End Sub
     
  6. Laetitia L

    Laetitia L XLDnaute Nouveau

    Inscrit depuis le :
    7 Mai 2018
    Messages :
    45
    "J'aime" reçus :
    0
    j'ai vu le message quand j'ai voulu décaler Héricourt du 15 au 16 février 2019
     
  7. vgendron

    vgendron XLDnaute Barbatruc

    Inscrit depuis le :
    24 Février 2009
    Messages :
    4893
    "J'aime" reçus :
    491
    Utilise:
    Excel 2007 (PC)
    Euh.... peux tu reposter ton fichier?
    parce que
    1) dans la dernière version que j'ai envoyée post 42: pas de 15 février 2019 à décaler pour Héricourt
    2) la macro pour les décalages, était l'ancienne quand il n'y avait pas la colonne Q
    et qui en plus mettait des D..
    il faut la remplacer par celle ci
    Code (Visual Basic):

    Sub DécalageToInstructions()
     Application.ScreenUpdating = False
     Application.Calculation = xlCalculationManual

    With Sheets("Calendrier")
         nbcol = .Range("TabCalend").Columns.Count 'nb de colonnes dans la zone TabCalend
         nblig = .Range("TabCalend").Rows.Count 'Nb de lignes à parcourir dans la zone TabCalend
         For i = 1 To nbcol Step 7 'on parcourt les dates de la zone "TabCalend" qui sont une colonne sur 4
             For j = 1 To nblig 'pour chaque ligne
                 ville = .Range("TabCalend").Item(j + 1, i) 'on récupère la ville
                 IndJour = (Int(j / 9) Mod 9) * 9 'numéro de ligne de la date à prendre en compte
                 Jour = .Range("TabCalend").Item(IndJour + 1, i) 'la date
                 Decalage = .Range("TabCalend").Item(j + 1, i + 2) 'on récupère le décalage
                  If ville <> "" And Decalage <> "" And Decalage <> "D" Then 'si il y a une ville ET un décalage
                     With Sheets("instructions") 'dans la feuille Instructions
                         Set ici = .Range("TabInst").Find(ville, lookat:=xlWhole) 'on cherche le nom EXACT de la ville
                         If Not ici Is Nothing Then 'si on l'a trouvée
                             .Range("O" & ici.Row) = Decalage 'on met le décalage dans la colonne P de la meme ligne
                         End If
                     End With
                     .Range("TabCalend").Item(j + 1, i + 2).ClearContents 'on efface le décalage de la feuille Calendrier
                 End If
             Next j
         Next i
    End With

     Application.Calculation = xlCalculationAutomatic
     Application.ScreenUpdating = True

    End Sub
     
  8. Laetitia L

    Laetitia L XLDnaute Nouveau

    Inscrit depuis le :
    7 Mai 2018
    Messages :
    45
    "J'aime" reçus :
    0
    Bonjour,
    Je vous renvoi le fichier (PJ) je n'ai rien modifié dessus, et la macro décalage ne fonctionne toujours pas. J'ai juste mis en violet les lignes ou il y a des particularités par rapport aux dates, certaines par exemple doivent être le lundi et le mardi à la suite. Je ne sais pas si il est possible de les intégrer dans la macro ...
     

    Pièces jointes:

  9. vgendron

    vgendron XLDnaute Barbatruc

    Inscrit depuis le :
    24 Février 2009
    Messages :
    4893
    "J'aime" reçus :
    491
    Utilise:
    Excel 2007 (PC)
    Bonjour
    ?? comment ca elle ne fonctionne pas??
    bug ou ne fait rien, ou ne le fait pas bien???
     
  10. vgendron

    vgendron XLDnaute Barbatruc

    Inscrit depuis le :
    24 Février 2009
    Messages :
    4893
    "J'aime" reçus :
    491
    Utilise:
    Excel 2007 (PC)
    Concrètement.. ca devrait donner quoi??
     
  11. vgendron

    vgendron XLDnaute Barbatruc

    Inscrit depuis le :
    24 Février 2009
    Messages :
    4893
    "J'aime" reçus :
    491
    Utilise:
    Excel 2007 (PC)
    Je viens de revoir ton post numéro #43
    la ligne "Public DicoJour" doit etre la PREMIERE du module. avant toutes les macros
     
  12. Laetitia L

    Laetitia L XLDnaute Nouveau

    Inscrit depuis le :
    7 Mai 2018
    Messages :
    45
    "J'aime" reçus :
    0
    Elle me renvoi le même message d'erreur de la capture d'écran que je vous avais montré
     
  13. vgendron

    vgendron XLDnaute Barbatruc

    Inscrit depuis le :
    24 Février 2009
    Messages :
    4893
    "J'aime" reçus :
    491
    Utilise:
    Excel 2007 (PC)
    Tu n'as pas vu mon dernier message
     

    Pièces jointes:

  14. Laetitia L

    Laetitia L XLDnaute Nouveau

    Inscrit depuis le :
    7 Mai 2018
    Messages :
    45
    "J'aime" reçus :
    0
    J'ai essayé sur le 30janvier 2019 pour Morey Lycee Berard, il n'y a pas de jours particuliers pourtant il ne fait pas le décalage. J'ai regardé la macro, je ne vois pas ce qui coince.
     
  15. vgendron

    vgendron XLDnaute Barbatruc

    Inscrit depuis le :
    24 Février 2009
    Messages :
    4893
    "J'aime" reçus :
    491
    Utilise:
    Excel 2007 (PC)
    Et moi je ne comprend pas ou ca ne va pas..
    Morez-Lycee Berard (Ligne 156)
    si on efface TOUS les décalages
    Dernière collecte au Mercredi 05 déc 2018 ===> Toutes les collectes tombent un mercredi: 30Janv2019 --> 27Mars --> 22Mai -->17Juillet...

    depuis Calendrier: je mets décalage = 1
    ==> on commence toujours au Mercredi 05 dec 2018 puis 30 Janv ==> mais le 27 mars est bien devenu le Jeudi 28Mars.. puis les suivantes passent un jeudi

    Depuis Instructions, je rajoute un décalage de 2 dans le décalage 2(colonneQ) ===> à partir de la collecte 3, tout est décalé au samedi...


    donc.. non. je ne vois pas ou est le problème...??

    Dans le doute....quand tu ajoutes un décalage dans Calendrier.. il faut cliquer sur "Reporter décalage" PUIS dans instructions, cliquer sur "Calculer Dates de collecte"
    si tu ajoutes un décalage directement dans Instructions==> il faut cliquer sur le bouton ...
     
  16. Laetitia L

    Laetitia L XLDnaute Nouveau

    Inscrit depuis le :
    7 Mai 2018
    Messages :
    45
    "J'aime" reçus :
    0
    Je crois que j'ai compris le problème. Quand on met un décalage de 1 dans la colonne O, il décale la 2ème collecte en colonne P et pas en colonne N.
     
  17. Laetitia L

    Laetitia L XLDnaute Nouveau

    Inscrit depuis le :
    7 Mai 2018
    Messages :
    45
    "J'aime" reçus :
    0
    ça décale la 2eme collecte, pas la 1ere
     
  18. vgendron

    vgendron XLDnaute Barbatruc

    Inscrit depuis le :
    24 Février 2009
    Messages :
    4893
    "J'aime" reçus :
    491
    Utilise:
    Excel 2007 (PC)
    bah si...
    du mercredi 30 janvier, on décale de 1 jour (ColO) pour arriver au Jeudi 28Mars (ColP)
    ensuite.. pour passer de ColP à Col R, on applique le délai entre collectes.. 56 Jours ==> donc le Jeudi 23 Mai
    Si tu veux encore décaler d'un jour, il faut mettre 1 dans la colonne Q...

    La colonne N ne sert QUE à passer de la colonne M au prochain jour autorisé.. (pas de décalage pris en compte)
     
  19. Laetitia L

    Laetitia L XLDnaute Nouveau

    Inscrit depuis le :
    7 Mai 2018
    Messages :
    45
    "J'aime" reçus :
    0
    Alors je pense qu'il y a une erreur dans la macro car les lieux dans le calendrier ne se déplacent pas automatiquement alors que j'ai utilisé les 2 macros. Et j'ai un beug, il s'ouvre quand je fais marcher la macro décalage dans le calendrier
    upload_2018-7-11_20-42-44.png
     
  20. Laetitia L

    Laetitia L XLDnaute Nouveau

    Inscrit depuis le :
    7 Mai 2018
    Messages :
    45
    "J'aime" reçus :
    0
    Et, le décalage de la 1ere collecte se fait en colonne L, le décalage de la 2eme collecte se fait en colonne O, effectivement quand on est sur l'onglet "instructions", les décalages se font bien au bon endroit. Mais quand on fait les décalages sur le calendrier, le décalage de la 1ere collecte se fait sur la colonne O alors que ça devrait être fait sur la colonne L
     
Chargement...
Discussions similaires - calendrier excel Forum Date
XL 2003 Calendrier thunderbird en fichier Excel Forum Excel 22 Novembre 2017
MAC Calendrier ROLAND M compatibilité Excel MAC Forum Excel 26 Janvier 2017
Créer un lien entre un planning excel et le calendrier outlook Forum Excel 5 Janvier 2017
Creer une feuille excel animee avec des photos, texte avec un calendrier a un endroit Forum Excel 13 Juin 2016
bug avec excellent calendrier de Roland_M Forum Excel 5 Juin 2016

Partager cette page