Compilation de dates

Bonjour tout le monde !

je viens vers vous car j'ai besoin d'un peu d'aide pour un projet de planification que je réalise. Le but final est d'établir un planning de maintenance.
J'ai annoté directement le fichier pour une meilleure compréhension de son fonctionnement et des liens entre les différentes feuilles.

http://www.cjoint.com/c/GFoiC5IMMhu

Je souhaiterais savoir s'il est possible de faire plusieurs choses que je n'arrive pas:

1) Pour les feuilles Broyeur1, Broyeur2, Broyeur3 : Prendre en compte tous les temps d’arrêt des broyeur et de l'engin dans le calcul de la prochaine date de maintenance.

ex: Le remplacement des machoires du broyeur1 doit se faire le 15/06/2017
L'engin est en entretien le 14/06/2017. Le remplacement des machoires va donc etre décalée d'une journée et se fera le 16/06/2017 (car les broyeurs ne peuvent pas fonctionner sans engin, l'inverse n'est pas vraie)

Pour le moment les dates de maintenance de chaque broyeur ne tiennent compte que des maintenance à réaliser sur le broyeur et non sur l'ensemble des machines.

2) Pour les feuilles Demande et Traitement: Tenir compte des arrêts des broyeurs et engin dans la Date Départ pour Demande et dans Date Rendue pour Traitement.

ex: la date rendue est le 21/06/2017. Il y a une intervention d'une journée à faire sur un broyeur le 20/06/2017. La date rendue devient le 22/06/2017

3) Pour la feuille 2017: afficher le calendrier à la date du jour lorsqu'on ouvre le document.
J'ai essayé sans succès avec un code VBA. Je pense qu'il faut sélectionner une case avec la date du jour et la comparer avec les dates du calendrier pour afficher la date correspondante et l'afficher (la date du jour dans le calendrier donc). Est ce possible ?

J'espère que je suis clair ! Le fichier excel est directement annoté pour vous en faciliter la compréhension.
Merci d'avance pour votre attention et votre aide !

Bink0

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour
    Copiez ceci dans le module "ThisWorkbook" et supprimez ce que vous avez saisi dans le module de la feuille 18
    Private Sub Workbook_Open()
        Feuil18.Select
        Set c = Columns("D").Find(Date, LookIn:=xlValues)
        If c Is Nothing Then Exit Sub
        c.Select
    End Sub
    Cdlt
    
    1. Super ça marche encore mieux que ce que j'ai trouvé ! Et tellement plus simple..
      Merci Frenchie !
  2. Contributeur
    Bonjour.

    Question 3 =
    "Possibilité d'atteindre la date du jour à chaque ouverture du document ?" :
    =AUJOURDHUI()
    1. En fait j'aimerais que la date du jour s'affiche mais dans le calendrier. Que si la date du jour est positionnée à la 104ème ligne, que ce soit la 104ème ligne qui s'affiche quand on ouvre le document.
      J'essaye en VBA avec find mais sans succès
    2. Contributeur
      @Bink0Désolé ! Je n'avais pas compris la problématique ...
  3. Pour le point 3: Solution trouvée en cherchant un peu sur des forums

    Double clic sur la case A1,
    recherche le contenu de A1 dans la plage D6:D300 et sélection de la cellule si présent

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

    Dim plage As Range
    Dim cellule As Range
    Set plage = Range("D6:D300")
    Set cellule = Range("A1")
    Dim add As Range

    Set add = plage.Find(cellule, LookIn:=xlValues, lookat:=xlWhole)

    If Not add Is Nothing Then
    MsgBox add.Address
    add.Select
    Else
    MsgBox "non présent"
    End If

    End Sub