Compilation de dates

Bink0 Messages postés 8 Statut Membre -  
Raymond PENTIER Messages postés 58220 Date d'inscription   Statut Contributeur Dernière intervention   -
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

  1. Frenchie83 Messages postés 2254 Statut Membre 339
     
    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
    1. Bink0 Messages postés 8 Statut Membre
       
      Super ça marche encore mieux que ce que j'ai trouvé ! Et tellement plus simple..
      Merci Frenchie !
      0
  2. Raymond PENTIER Messages postés 58220 Date d'inscription   Statut Contributeur Dernière intervention   17 486
     
    Bonjour.

    Question 3 =
    "Possibilité d'atteindre la date du jour à chaque ouverture du document ?" :
    =AUJOURDHUI()
    0
    1. Bink0 Messages postés 8 Statut Membre
       
      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
      0
      1. Raymond PENTIER Messages postés 58220 Date d'inscription   Statut Contributeur Dernière intervention   17 486 > Bink0 Messages postés 8 Statut Membre
         
        Désolé ! Je n'avais pas compris la problématique ...
        0
  3. Bink0 Messages postés 8 Statut Membre
     
    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
    0