Intégrer des feuilles excel à des cellules dynamique

Résolu
Morgan.Be Messages postés 31 Statut Membre -  
Morgan.Be Messages postés 31 Statut Membre -
Bonjour,
Je ne sais pas si mon titre est très explicite,
Voilà, je travail depuis plusieurs semaines sur un tableau excel qui permettra de gérer la maintenance préventive d'une entreprise.
Grâce à votre aide j'ai réussie à élaborer un tableau fonctionnel qui permet de mettre différentes périodicités selon le préventif voulu ( voir document ci joint ).
Maintenant que le tableau est fonctionnel, j'aimerai savoir si il était possible, par un macro ou autre, d'intégrer à chaque case rouge (voir tableau), une feuille excel que j'ai réalisée au préalable.
Par exemple, dans l'entreprise, ils aimeraient pouvoir imprimer l'ensemble des préventifs pour le mois de mai, donc ils regardent dans le tableau et lors ce qu'ils cliqueront ( ou autres ) sur la case rouge, ça leurs renverrai la feuille à imprimer.

Je pense que c'est faisable, je vous laisse les document ci joint. https://www.cjoint.com/c/FEdmQbCFZZH <--- Tableau réalisé
https://www.cjoint.com/c/FEdmQ6c5TYH <--- Exemple de préventifs réalisés (ils n'y sont pas tous)

2 réponses

  1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonjour Morgan.Be

    1) Verrouiller toutes les cellules des colonnes G et suivantes de Projet 1
    2) Protéger la feuille Projet 1 en cochant Autoriser : Selectionner les cellules verrouillées et Selectionner les cellules déverouillées (pour éviter d'effacer les formules lorsqu'on double cliquera sur un M
    3) Mettre toutes les feuilles de maintenance après la feuille Projet, toutes bien nommées comme tu as déjà fait : Fréquence + espace + nom de la machine, sauf pour les 2 robots dont la fiche s'intitule "Préventif ... (j'ai tenu compte de ces 2 exceptions dans la macro)
    4) ALT +F11 pour ouvrir l'éditeur VBA puis Double clic sur la feuille Projet 1 dans l'arborescence à gauche - Copier et coller la macro suivante dans la page

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Row < 7 Then Exit Sub
    If Target.Value = "M" Then
    nomf = Range("D" & Target.Row) & " " & Range("B" & Target.Row)
    If Target.Row = 34 Then nomf = "Préventif Trimestriel 1200T_1"
    If Target.Row = 35 Then nomf = "Préventif Semestriel 1200T_2"
    For n = 1 To Sheets.Count
    If Sheets(n).Name = nomf Then existe = 1
    Next
    If existe = 0 Then MsgBox ("La fiche de maintenance correspondnate n'existe pas"): Exit Sub
    Sheets(nomf).Visible = True
    Sheets(nomf).Select
    End If
    End Sub


    5) Copier ensuite la macro suivante et la coller en dessous de l'autre et fermer l'éditeur VBA
    Private Sub Worksheet_Activate()
    For n = 1 To Sheets.Count
    If Sheets(n).Name = "Projet 1" Then Sheets(n).Visible = True Else Sheets(n).Visible = False
    Next
    End Sub


    La 1ere macro au double-clic sur un M selectionne et affiche la fiche maintenance correspondante

    La 2eme macro quand on sélectionne la feuille Projet 1 masque toutes les autres feuilles (pour éviter d'avoir une longue série d'onglets en bas)

    En fonctionnement normal on a donc toujours la feuille projet ouverte, lorsqu'on double-clic sur un M la feuille de maintenance est ouverte et on peut la consulter et l'imprimer, lorsqu'on revient sur la feuille Projet la fiche de maintenance est remasquée

    Cdlmnt
    Via
    0
    1. Morgan.Be Messages postés 31 Statut Membre
       
      Merci Via pour ton aide, j'ai essayé de réaliser tout ce que tu m'avais écrit mais après avoir protégé la page et réalisé la macro, le message d'erreur "La fiche de maintenance correspondante n'existe pas" apparaît, et ça sur chaque M lors ce que je double clic dessus...
      Voici le lien après réalisation de votre explication : https://www.cjoint.com/c/FEjjz4gcnJD
      0
      1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759 > Morgan.Be Messages postés 31 Statut Membre
         
        Bonjour Morgan.Be

        Effectivement ça ne fonctionne pas pour les Quadrimestriel

        La raison en est que dans la liste de départ sur laquelle est basée la liste déroulante de choix Quadrimestriel est écrit avec un espace devant , cette écriture est donc reportée dans les choix de la colonne D et la macro ne trouve évidemment pas de feuille commençant par ce nom !

        Corrige tous les Quadrimestriels (y compris bien sur dans la liste de départ) et cela ira

        Cdlmnt
        Via
        0
    2. Morgan.Be Messages postés 31 Statut Membre
       
      Merci de votre réponse rapide, j'ai réussie a tout concorder grâce à vous.
      Merci beaucoup
      0
  2. Raymond PENTIER Messages postés 58213 Date d'inscription   Statut Contributeur Dernière intervention   17 482
     
    Salut, Morgan.

    Je voulais te rappeller l'existence des liens hypertextes, qui te permettent d'aller vers un fichier précis.
    Donc il faudrait que chaque préventif fasse l'objet d'un fichier Excel séparé.
    C'est bien, la retraite ! Surtout aux Antilles ... :-) 
    Raymond (INSA, AFPA, CF/R)
    0
    1. Morgan.Be Messages postés 31 Statut Membre
       
      Merci mais la solution de Via55 m'a paru idéale pour faire ce que je voulais, de plus je ne sais pas utiliser les liens hypertexte.
      Merci de votre aide tout de même
      0