Compilation de dates

Fermé
Bink0 Messages postés 8 Date d'inscription mardi 18 avril 2017 Statut Membre Dernière intervention 15 juin 2017 - Modifié le 14 juin 2017 à 16:13
Raymond PENTIER Messages postés 58714 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 3 novembre 2024 - 15 juin 2017 à 16:16
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

Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 338
15 juin 2017 à 09:21
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
Bink0 Messages postés 8 Date d'inscription mardi 18 avril 2017 Statut Membre Dernière intervention 15 juin 2017
15 juin 2017 à 09:34
Super ça marche encore mieux que ce que j'ai trouvé ! Et tellement plus simple..
Merci Frenchie !
0
Raymond PENTIER Messages postés 58714 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 3 novembre 2024 17 231
15 juin 2017 à 01:32
Bonjour.

Question 3 =
"Possibilité d'atteindre la date du jour à chaque ouverture du document ?" :
=AUJOURDHUI()
0
Bink0 Messages postés 8 Date d'inscription mardi 18 avril 2017 Statut Membre Dernière intervention 15 juin 2017
15 juin 2017 à 08:52
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
Raymond PENTIER Messages postés 58714 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 3 novembre 2024 17 231 > Bink0 Messages postés 8 Date d'inscription mardi 18 avril 2017 Statut Membre Dernière intervention 15 juin 2017
15 juin 2017 à 16:16
Désolé ! Je n'avais pas compris la problématique ...
0
Bink0 Messages postés 8 Date d'inscription mardi 18 avril 2017 Statut Membre Dernière intervention 15 juin 2017
Modifié le 15 juin 2017 à 09:34
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