Automatiser le réferencement de fiche d'instruction

Krolog

XLDnaute Nouveau
Bonjour,

Je m’appelle Zacharie, je suis actuellement en licence professionnelle Responsable en logistique en alternance.
Je travaille actuellement sur la création d’un fichier excel automatisé. Cependant il est clair que je n’ai pour l’instant pas les compétences en macro pour le réaliser. (Novice)

Je vais essayer de détailler le projet et les attendues de ce fichier le plus clairement possible, n’hésitez pas à demander plus de précisions.

Contexte :
Travaillant dans un centre de distribution, nous sommes en train de standardiser l’ensemble des modes opératoires. Les modes opératoires sont des instructions adaptées à chaque poste de travail.
Je souhaite réaliser une base de données, permettant :
- De créer et de référencer de nouvelles instructions
- Et de mettre à jour une date et un indice, lorsque l’instruction est mise à jour
J’ai créé un standard pour les instructions sur PowerPoint pour la forme et la mise en page.
Chaque instruction contient un bordereau sur lequel est indiqué :
La référence de la procédure ; La date de création ; (l’éventuelle) date de mise à jour ; et le nom du responsable qui a validé l’instruction.

Concernant le fichier excel :
Il s’agirait de la base de données. Il regrouperait également un certain nombre de variables :
Le type de l’instruction, l’ilot (c’est-à-dire le secteur), un numéro unique pour chaque instruction, l’intitulé de l’instruction, les initiales du responsable, la date de création, la date de mise à jour, et un indice qui évolue en fonction du nombre de mises à jour effectuées.

Vous trouverez une ébauche en pièce jointe

! Vous retrouverez la majeure partie des informations ci-dessus annotées dans le fichier excel !

J’aimerai automatiser un certain nombre d’actions lors de la création ou la mise à jour de ces instructions :

ci-dessous le déroulement du programme « dans le meilleur des mondes »

Tâche 1 :

Création d’une instruction

-L’utilisateur choisi via un menu déroulant : Le type de l’instruction et l’ilôt concerné. Il rentre ensuite le nom qu’il souhaite donner à l’instruction. La date de création est pré saisie via la fonction =AUJOURDHUI
Lorsque l’utilisateur remplit les champs, il appuie sur le bouton créer l’instruction.
A partir de ce moment :
-Vérification des numéros uniques (feuille NUM) et attribution d’un numéro unique pour l’instruction.
- L’intitulé de l’instruction est ajouté dans la feuille NUM a côté du numéro unique attribué automatiquement.
- Ces informations apparaîtront également dans la feuille BASE.
- Par rapport aux informations saisies dans les menus déroulants, les codes des feuilles TYPE et ILOT s’affichent automatiquement dans la feuille BASE
- La date est de création est automatiquement inscrite dans la feuille base également.
- L’indice de mise à jour est défini à 0 (puisque qu’il s’agit d’une nouvelle instruction)
- La référence de l’instruction (code ILOT + code TYPE + Numéro unique + Indice)
est créée (voir Feuille BASE):
-Le fichier Excel ouvre une copie du modèle d’instruction PowerPoint (qui est choisi en fonction du type d’instruction que l’utilisateur a choisi dans le menu déroulant) et le bordeaux est automatiquement complété avec les informations que l’utilisateur a définies.
Une fois qu’il a écrit son instruction, l’utilisateur appuie sur le deuxième bouton:

Valider instruction
- Le fichier est renommé [« Modèle standard.pptx » devient « «EXP-WI-0001-1 Procédure conditionnement » et enregistré dans le répertoire qui contient l’ensemble des instructions. (Cette dernière étape peut être réalisée en .bat si c’est compliqué via Excel.)

Tâche 2 :

Mettre à jour une instruction
L’utilisateur recherche soit par le n°unique soit par une recherche de mots clefs l’instruction qu’il souhaite mettre à jour. La recherche permet d’afficher les informations de l’instruction sur ligne, et j’aimerai mettre en place un bouton qui permet d’ouvrir le fichier PowerPoint pour le modifier, bon rien de trop compliqué, et un bouton qui met la date de mise à jour (logique ^^) et qui fait évoluer l’indice (0 pour l’édition originale puis 1 ,2 ,3…).

J’espère avoir bien expliqué le projet, une fois encore n’hésitez pas à demander des précisions.
Je me débrouille avec les formules d’Excel, tableaux dynamiques et en batch mais par contre Vba je suis une quiche, j’ai commencé à lire les tutos de novices, mais d’ici à ce que j’arrive à coder ça … vous aurez pris un coup de vieux ! :D


Merci d’avance aux passionnés qui prendront un peu de leur temps pour m’aider !
 

Pièces jointes

  • Referencement instructions.xlsx
    49.5 KB · Affichages: 53

Krolog

XLDnaute Nouveau
Re : Automatiser le réferencement de fiche d'instruction

Hello Modeste,

Quelques modifs apportées au code (notamment pour l'insertion de la première ligne dans les tableaux). Vérifie si, de ton côté tu n'avais rien ajouté de plus (l'indice, c'est ok, dans le fichier joint)
Penser, avant toute chose à activer la référence à Microsoft PowerPoint xx.0 Object Library (dans l'éditeur vba > Outils > Références et chercher dans la liste, par ordre alphabétique).
J'ai déjà indiqué dans le code les noms donnés aux différentes zones de texte dans PPT, même si on en n'utilise que 2, à ce stade.

Niquel tout fonctionne parfaitement !

Tu peux choisir l'emplacement des fichiers Modèles en PPT ... Pense simplement à changer le chemin d'accès aux diaporamas, dans le code; le chemin pour l'enregistrement sera le même ... ou pas? Dans mes tests à moi oui; chez toi, je ne sais pas? Il y a donc deux endroits où modifier (avec un seul ou 2 chemins différents)

Alors j’ai modifié les chemins d’enregistrement, et j’ai rajouté un peu de if et de else pour définir le dossier d’enregistrement.
Je souhaite fonctionner de la manière suivante :
Les modèles sont dans le dossier MODELE
Au moment de l’enregistrement, 3 destinations sont possible, en fonction du type d’instruction. (WI, JBS, ou SPL)
J’ai également rajouté le nom de l’instruction en plus de la référence lors de l’enregistrement pour plus de lisibilité.
Le code semble bien fonctionner chez moi, dis moi si ça te convient.

En relisant ton premier message, je m'aperçois que tu avais prévu 2 étapes: Création et Validation ... j'ai tout mis dans Création. On peut changer, si besoin, mais peux-tu expliquer pourquoi tu "splites"?

Alors splitter les deux étapes est nécessaire. Dans le code actuel, le modèle est appelé, et enregistré dans le bon dossier. Cependant il faut une pause entre le moment ou le modèle s’ouvre afin que l’utilisateur puisse compléter le contenu de l’instruction. Une fois qu’il a terminé, il revient sur le fichier Excel, clique sur VALIDER, pour fermer et enregistrer le diapo dans le bon dossier.

Derniers points concernant la création des instructions :

Lors de la création j’aimerai que la référence soit affichée dans la cellule C10. J’ai mis une formule Si dans le bloc juste en dessous afin de prévenir l’utilisateur que la référence à bien été créée, et qu’il peut désormais la modifier. (et du coup appuyer sur valider lorsqu’il a terminé).

Et j’aimerai également à la feuille base, un lien avec le chemin d’accès pour chaque instruction. Je ne sais pas si on peut le faire sous la forme [LIEN] (avec le chemin d’accès « l’interieur ») ou si il faut obligatoirement afficher le lien sous la forme [C:\....\....]

Ensuite Topo de la mise à jour :
Il y a deux grandes étapes sur cette seconde partie :
Tout d’abord la recherche d’instruction.
Elle peut se faire soit via le numéro unique, si l’utilisateur sait quelle instruction il doit modifier, il tapera juste 0052 par exemple.
Autre cas de figure l’utilisateur ne connait pas exactement le numéro ou le nom, voilà quelques exemples de recherches qu’il serait susceptible de faire :
Contrôle (affichera toutes les instructions qui contiennent contrôle dans leur intitulé)
EXP (s’il souhaite afficher l’ensemble des instructions du secteur expédition)
QLT SPL (s’il souhaite afficher les SPL du secteur de la qualité)
QLT SPL USINE (si recherche l’instruction QLT-SPL-Procédure retour usine)
J’avais créé une partie Résultat de la recherche, mais elle est « fixe » ce qui n’est pas très pratique… est -il possible que ce tableau « résultat » s’adapte en fonction du nombre de résultat ?
Ensuite la dernière colonne du résultat est actuellement sélectionner. J’aimerais remplacer cette cellule par une case à cocher.

Deuxième partie :

La recherche a été concluante. L’utilisateur a trouvé l’instruction qu’il souhaite modifier. Il va cocher la case correspondante à l’instruction qu’il veut mettre à jour. La ligne « mettre à jour l’instruction » est renseignée.
L’utilisateur peut modifier si il ne souhaite (ou non) le nom, la personne qui a mis jour l’instruction, ainsi que les initiales des responsables ayant validé l’instruction.

Voilà pour les modifications sur Excel. Il clique sur MISE A JOUR. L’instruction en question est ouverte, et les champs sont mis à jour également. A ce moment l’utilisateur peut également modifier le contenu de l’instruction s’il le souhaite. Une fois qu’il a terminé il revient sur le fichier Excel et clique sur VALIDER pour enregistrer les modifications. L’indice est mis à jour (+1) avec la date de mise à jour qui soit créée soit mise à jour.

Dis-moi si tu souhaites avoir plus de précisions sur certains points !
Merci ! A ce stade c’est plus une bière que je vais te payer mais un fût haha !
 

Pièces jointes

  • INSTRUCTION.zip
    119.6 KB · Affichages: 33
  • INSTRUCTION.zip
    119.6 KB · Affichages: 29
  • INSTRUCTION.zip
    119.6 KB · Affichages: 26

Modeste

XLDnaute Barbatruc
Re : Automatiser le réferencement de fiche d'instruction

Bonjour Zacharie, le reste du forum,

En vrac, quelques pensées, remarques, inquiétudes, etc.

  • Je n'y ai pas pensé, mais plutôt que de te contraindre à reprendre le "modèle" que j'ai bidouillé à la va-vite en PPT (pour pouvoir tester), je peux aussi t'expliquer la manière dont j'ai renommé les zones de texte!? :D
  • J'ai modifié le noms de la procédure en "Création", plutôt que "Rectangle4_Cliquer" et celui du bouton aussi, puisqu'il s'appelait "Rectangle 2" (!?). Il se nomme maintenant "BtCreer" (ça ne change rien au fond des choses, c'est juste que ça me semble plus "propre". On ne se refait pas! :eek:)
  • Ajouté, au moment du clic sur le bouton, la remise "à blanc" des quelques cellules utilisées.
  • Si tu avais trouvé comment mettre l'indice à 0 dans une cellule, tu aurais dû être capable d'inscrire la référence ("laRef", dans le code) en C10. :rolleyes:
  • J'ai un peu simplifié les if, else if, … dans le SaveAs puisque le nom du sous-dossier est donné par le type d'instruction ("typeInst", dans le code) ... tu me suis??
  • Ajouté la partie pour la création des liens hypertextes en feuille Base. J'ai testé une fois ou deux … ça semble fonctionner, mais vérifie encore!! N'oublie pas de changer les chemins d'accès dans le code! Je ne sais pas ce que tu voulais afficher, en colonne N j'ai mis un TextToDisplay "passe-partout", mais on peut changer, bien sûr!


Par contre, pour scinder la partie Création et la Validation, je ne vois pas!? Il faudrait que le diaporama ouvert dans une procédure soit "récupéré" dans l'autre … Et ça … pas le temps de chercher si c'est possible, ni comment (avec, en plus toute une gestion d'erreurs, si le fichier a été fermé par l'utilisateur, si le fichier n'a pas été créé et autres "joyeusetés" du même genre :eek:).
La seule chose que je peux proposer est dans la PJ: on laisse l'ouverture du Modèle et l'enregistrement du diaporama, comme jusqu'à présent, mais on ne le ferme pas et on libère les variables "ppt" et "monDiapo". Du coup, la réf en C10 et ton message 2 lignes plus bas ne servent plus à grand chose (et le bouton Valider non plus, j'en ai peur!).
À charge pour l'utilisateur de penser à sauvegarder les modifications apportées depuis l'enregistrement et fermer le diaporama. Désolé, mais je n'ai pas mieux! :(

Dès que j'aurai un peu de temps, je regarderai à tes recherches … à mon avis, on n'a pas fini de rire!? Prévois déjà deux fûts en plus! Prendre une option sur un transport par camion-citerne ne serait pas dénué d'intérêt!
On peut éventuellement prévoir l'affichage d'un UserForm, si c'est plus simple? Ou peut-être avec des listes de validation? … J'y réfléchis …

@+
 

Pièces jointes

  • referencement instructions (Krolog) V3.2.xlsm
    41.9 KB · Affichages: 31

Krolog

XLDnaute Nouveau
Re : Automatiser le réferencement de fiche d'instruction

En vrac, quelques pensées, remarques, inquiétudes, etc.
Je n'y ai pas pensé, mais plutôt que de te contraindre à reprendre le "modèle" que j'ai bidouillé à la va-vite en PPT (pour pouvoir tester), je peux aussi t'expliquer la manière dont j'ai renommé les zones de texte!?

Avec plaisir :D j’ai cherché un peu sur powerpoint, mais je n’ai pas trouvé … j’ai du passer à coté.

J'ai modifié le nom de la procédure en "Création", plutôt que "Rectangle4_Cliquer" et celui du bouton aussi, puisqu'il s'appelait "Rectangle 2" (!?). Il se nomme maintenant "BtCreer" (ça ne change rien au fond des choses, c'est juste que ça me semble plus "propre". On ne se refait pas! )

Merci ! Effectivement je m’y retrouverai plus facilement

Ajouté, au moment du clic sur le bouton, la remise "à blanc" des quelques cellules utilisées.
Si tu avais trouvé comment mettre l'indice à 0 dans une cellule, tu aurais dû être capable d'inscrire la référence ("laRef", dans le code) en C10.

Oui j’aurai pu faire ça, j’ai zappé : ) Par contre la remise a blanc de la cellule C10 se fait en même temps que le diapo s’ouvre, j’ai pour l’instant enlevé cette partie pour le que le message s’affiche. J’y reviens un peu plus bas !

J'ai un peu simplifié les if, else if, … dans le SaveAs puisque le nom du sous-dossier est donné par le type d'instruction ("typeInst", dans le code) ... tu me suis??

Tout à fait, j’étais aller chercher les syntaxes dans l’aide Microsoft, j’ai repris tel quel c’était fonctionnel, j’étais content, mais c’est bien plus propre comme ça.

Ajouté la partie pour la création des liens hypertextes en feuille Base. J'ai testé une fois ou deux … ça semble fonctionner, mais vérifie encore!! N'oublie pas de changer les chemins d'accès dans le code! Je ne sais pas ce que tu voulais afficher, en colonne N j'ai mis un TextToDisplay "passe-partout", mais on peut changer, bien sûr!

Niquel !


Par contre, pour scinder la partie Création et la Validation, je ne vois pas!? Il faudrait que le diaporama ouvert dans une procédure soit "récupéré" dans l'autre … Et ça … pas le temps de chercher si c'est possible, ni comment (avec, en plus toute une gestion d'erreurs, si le fichier a été fermé par l'utilisateur, si le fichier n'a pas été créé et autres "joyeusetés" du même genre ).
La seule chose que je peux proposer est dans la PJ: on laisse l'ouverture du Modèle et l'enregistrement du diaporama, comme jusqu'à présent, mais on ne le ferme pas et on libère les variables "ppt" et "monDiapo". Du coup, la réf en C10 et ton message 2 lignes plus bas ne servent plus à grand chose (et le bouton Valider non plus, j'en ai peur!).
À charge pour l'utilisateur de penser à sauvegarder les modifications apportées depuis l'enregistrement et fermer le diaporama. Désolé, mais je n'ai pas mieux!

Pas de problème on va laisser ça tel quel. Je vais quand même laisser la ref en C10 et inscrire modifier le message, pour prévenir l’utilisateur (penser à enregistrer avant de fermer le diapo) on ne sait jamais !
Pour la remise a blanc de la cellule C10 c'est possible de modifier le déclencheur ? De la remettre vide lors de l'ouverture du fichier par exemple

Dès que j'aurai un peu de temps, je regarderai à tes recherches … à mon avis, on n'a pas fini de rire!? Prévois déjà deux fûts en plus! Prendre une option sur un transport par camion-citerne ne serait pas dénué d'intérêt!
On peut éventuellement prévoir l'affichage d'un UserForm, si c'est plus simple? Ou peut-être avec des listes de validation? … J'y réfléchis …

C’est noté, une préférence blonde, blanche ou brune ? : ) ou bien Française, belge, allemande ? : )

Je vais aller chercher des infos sur les UserForm, le terme est encore vague pour moi. On peut laisser tomber la recherche par mots clefs si c’est trop tordu, je ne sais pas si c’est possible de mettre en place des listes de validation en fonction de l’ilot ou du type d’instruction, j’essaye de te donner un maximum de pistes, après à toi de voir ce qui est le plus facilement réalisable.
Une dernière question, le code dans le module 2 c’était lors de tes recherches c’est bien ça ? Il a été intégré dans le module 1 non ?

Bonne aprem !
 

Modeste

XLDnaute Barbatruc
Re : Automatiser le réferencement de fiche d'instruction

Salut,

Pour la mise à blanc de C10 (et des autres, tant qu'à faire) à l'ouverture, dans le VBE, double-clique sur l'Objet ThisWorkbook et colle ce qui suit:
Code:
Private Sub Workbook_Open()
With Sheets("Accueil")
    .[B5:D5] = "": .[F5:I5] = "": .[C10] = ""
End With
End Sub


le code dans le module 2 c’était lors de tes recherches c’est bien ça ?
Ah mais pas du tout: c'était pour voir si tu étais attentif :eek: (bon allez, d'accord, tu peux le supprimer! en fait j'utilise régulièrement l'enregistreur de macros, quand je cherche une syntaxe spécifique; du coup, un module supplémentaire est ajouté)

Pour les zones de texte en PPT (il y a peut-être plus simple, mais bon ...) Onglet Accueil > Tout à droite, dans le groupe Modification > Dérouler "Sélectionner" et cocher "Volet sélection...". Toutes les formes, boutons, etc. sont listés là.
- une icône permet de Masquer/Afficher
- un clic sur un élément le sélectionne dans la feuille (tu vois ce qui correspond à quoi)
- un second clic (pas trop rapproché) permet de modifier le nom

Et, à ma connaissance, on écrit "Nickel", jeune sauvageon (sauf si on est d'ascendance espagnole, peut-être?)
 

Krolog

XLDnaute Nouveau
Re : Automatiser le réferencement de fiche d'instruction

Ok, pour le code, et pour les objets powerpoint (effectivement je crois avoir cherché partout sauf la :eek:

Et, à ma connaissance, on écrit "Nickel", jeune sauvageon (sauf si on est d'ascendance espagnole, peut-être?

Je note, et je suis d'origine franco-sud américaine, :p Patrick Jane sors de ce corps ! :D

EDIT: J'ai également mis le rajout des initiales des personnes qui valident les instructions
DOUBLE EDIT: Et de ce fait je vais rajouter la purge de ces cellules à la réouverture du fichier !
TRIPLE EDIT: Ah bah tu l'avais déjà fait :eek: ;)
 
Dernière édition:

Modeste

XLDnaute Barbatruc
Re : Automatiser le réferencement de fiche d'instruction

Bonjour la Terre (ça devrait inclure à peu près tout le monde, non?)

Voici une nouvelle version avec (en fin de compte) un UserForm pour les recherches d'instructions existantes.

Trois listes "en cascade": la première affiche les titres de la feuille BASE qui me paraissaient opportuns; la seconde se "garnit" -dès qu'un titre est choisi dans la première- de la liste des valeurs de la colonne correspondante (sans doublons); le contenu de la troisième se rafraîchit de la même manière (sauf que là, les doublons ne sont plus possibles). Le bouton OK ne devient actif que lorsqu'un élément de la 3e liste est sélectionné. S'il est activé, les cellules de la ligne 29 sont alimentées.

La recherche ne fonctionne que si, pour la colonne sélectionnée, il y a -au moins- deux valeurs encodées. J'ai donc fait un peu de remplissage :eek:

J'ai mis en commentaires toute la partie concernant les fichiers PPT et la création des liens hypertextes, pour faire les tests.

Les cellules de la feuille qui ne sont pas utilisées sont "hachurées". Vois d'abord si la proposition te convient. Si oui, je te laisserai le soin de "réorganiser les données" dans la feuille Accueil (attention, il faudra peut-être adapter le code, en fonction). J'ai créé un nouveau bouton pour la recherche, mais ici aussi, tu verras bien!

Il y a sans doute des choses qui manquent et je n'ai pas testé tous les cas de figure imaginables ... je compte sur toi pour vérifier tout ça!

À plus tard,
 

Pièces jointes

  • referencement instructions (Krolog) V3.3.xlsm
    50.5 KB · Affichages: 27

Krolog

XLDnaute Nouveau
Re : Automatiser le réferencement de fiche d'instruction

Hello !
Alors j'ai testé la la recherche est nickel ! ;) Tout fonctionne bien ! J'ai réorganisé la feuille et j'ai mis les vrai modèles en place, j'ai juste un problème pour l'affichage des données dans le powerpoint:
Dans l'instruction JDB j'ai deux slides. Pas de problème pour renseigner les cases, mais lorsque je met le code et crée une WI ou une SPL ça plante, vu qu'il n'y a qu'une diapo. ^^ Je ne sais pas comment mettre la condition "si c'est une JBS alors renseigner la deuxième diapo".

Une autre question serait-il possible sur la recherche est il possible d'ouvrir l'instruction en question lorsque l'on appuie sur OK ?

Plus que le bouton mise à jour ,mais la aussi je ne sais pas comment modifier la ligne correspondante à l'instruction sélectionnée...

Voila le zip avec les modifs! Bon week end :)
 

Modeste

XLDnaute Barbatruc
Re : Automatiser le réferencement de fiche d'instruction

Salut,

La recherche fonctionne, j'en suis fort aise (comme disait la fourmi), mais fonctionne-t-elle comme tu l'avais imaginé ,that's the question (comme disait Hamlet Lacigale)

Une instruction JDB, c'est un nouveau type? Il remplace le JBS? :)
Pour la seconde dia, juste après avoir écrit dans les zones de texte de la première dia, pour ton "troisième type", tu devrais pouvoir écrire quelque chose comme:
If TypeInst = "JBS" Then
monDiapo.slides(2).Shapes ("le_nom_de_la_forme").etc...
End If
On ne saurait être plus précis, sans le zip annoncé :rolleyes:

sur la recherche est il possible d'ouvrir l'instruction en question lorsque l'on appuie sur OK ?
Ben certainement, puisque dans la ListBox, tu as la référence et le nom de l'instruction, que le chemin d'accès est connu sauf le dernier sous-dossier (dont le nom sera fourni pas les caractères entre le 1er et le 2e tiret, dans la référence)

Pour le bouton mise à jour, il faudra que tu précises ce qui doit être fait précisément (et là aussi avec le zip, on pourra "coller" à ce que tu auras modifié, le cas échéant :))
 

Krolog

XLDnaute Nouveau
Re : Automatiser le réferencement de fiche d'instruction

Hello !
La recherche convient parfaitement, il est possible d'avoir une vu d'ensemble lors d'une recherche par ilot par exemple, et les différents critères sont pertinents, l'utilisateur n'aura pas d'excuse si il ne sait pas comment chercher l'instruction :)

Oups je parlais des JBS ! Faute de frappe !

Voila cette fois ci le zip avec les dossier, et le fichier, je ne sais pas ce qu'il s'est passé, j'étais pourtant sur de l'avoir uploadé :O (je crois que cela dépassait la taille maximale, j'ai supprimé les instructions crées, je t'en ai laissé quelques une dans la base).

Pour le bouton mise à jour ,il faudrait qu'il modifie ou complète la base avec les cases surlignées en bleu (date de mise à jour, nom de l'instruction, initiale de la personne qui met à jour l'instruction et de la ou les personnes qui valident celle-ci. Et il faudrait que l'indice soit mis à jour (avec un +1).

EDIT: et j'ai rajouté le code pour la JBS et la deuxième diapo, tout fonctionne :)


Bon je vais m'assurer que tout est bien envoyé cette fois !

Merci !
 

Pièces jointes

  • INSTRUCTION.zip
    187 KB · Affichages: 25
  • INSTRUCTION.zip
    187 KB · Affichages: 26
  • INSTRUCTION.zip
    187 KB · Affichages: 26

Modeste

XLDnaute Barbatruc
Re : Automatiser le réferencement de fiche d'instruction

Re,

Pour l'ouverture du diaporama, lors de la modification d'une instruction existante, dans le code du UserForm et plus particulièrement dans la Sub CommandButton1_Click, juste avant le End With, tu peux ajouter
Code:
ThisWorkbook.FollowHyperlink "Z:\INSTRUCTION\" & .Cells(ligne, 3) & "\" & .Cells(ligne, 1) & " " & .Cells(ligne, 5) & ".pptx"

Attention: juste avant ça, tu "garnis" des cellules en D32, G32, H32, et I32 (ce ne serait pas plutôt la ligne 35!?)
Ceci dit, j'ai une question, à ce sujet: on peut modifier le nom d'une instruction!? Parce que le nom "initial", tu l'avais intégré dans la référence et le nom du fichier!? En plus, si tu dois retracer l'historique d'une instruction, si elle change de nom à chaque modif, ça va devenir la galère, non??
Dans le même ordre d'idée, si on ouvre le diapo correspondant à la ref initiale et qu'après avoir complété le .pptx, l'utilisateur fait "enregistrer" (suivant en cela ta consigne :)) il/elle écrase l'ancien contenu du fichier, en gardant le nom du fichier de départ!?

Prends le temps de réfléchir ... mais j'ai comme une grosse inquiétude, là!?
 

Krolog

XLDnaute Nouveau
Re : Automatiser le réferencement de fiche d'instruction

Ok pour ouverture du diapo pas de soucis à priori !
Et oui j'ai j'ai oublié de changer les numéros des cellules :eek:

Pour la recherche, après réflexion, il n'es pas utile de pouvoir changer le nom.
Si une modification dans tel ou tel process à lieu (changement d'outil, revison totale d'une procédure) cela impliquera forcément la création d'une nouvelle instruction.

Donc oublis cette partie, renommer l'instruction n'est pas pertinent en soit , désolé :eek:
 

Modeste

XLDnaute Barbatruc
Re : Automatiser le réferencement de fiche d'instruction

Bonsoir,

Pour trouver le nouvel indice, il ne me paraît pas prudent de prendre simplement la ref en B29 et d'incrémenter de 1 le chiffre tout à droite: rien ne prouve que ce soit la dernière "version" qui aura été sélectionnée dans la liste!?

Je ferais donc une recherche, en colonne A de la feuille "BASE" sur les caractères à gauche du dernier tiret et, quand il y aura correspondance, on stockera le dernier chiffre, chaque fois qu'il sera supérieur au précédent. Ça, c'est fait (voir plus bas) ... mais après, on fait quoi de ce nouvel indice ainsi trouvé? On crée une nouvelle référence, mais SANS modifier le n° (celui de la colonne D, qui figure aussi dans la ref et dans le nom du fichier .pptx et on l'ajoute comme nouvelle ligne dans la feuille BASE? Mais alors, à quoi servent les colonnes G et suivantes dans cette même feuille?? Quelque chose doit m'échapper :confused:

Tu n'as pas dit non plus ce qu'il advenait du pptx que l'utilisateur allait modifier!?

Pour trouver l'indice le plus élevé, pour la ref en B29, juste après le FollowHyperlink de tout à l'heure (et toujours avant le end with) ajoute:
Code:
debref = Mid([B29], 1, InStrRev([B29], "-") - 1)
For lig = 2 To Application.CountA(.[A:A])
    If Left(.Cells(lig, 1), Len(debref)) = debref Then
        If temp <= .Cells(lig, 8) Then temp = .Cells(lig, 8)
    End If
Next lig
nouvInd = temp + 1
 

Krolog

XLDnaute Nouveau
Re : Automatiser le réferencement de fiche d'instruction

Hello , désolé du temps de réponse, les exams arrivent a grand pas, je rend mon mémoire cette semaine :)

J'ai longuement réfléchi à ce système d'indice, et effectivement le système manque de logique. J'en ai discuté avec mon responsable ce matin et en fin de compte il est plus interessant de supprimer l'indice.

Le module de mise à jour existera toujours, permettant d'ouvrir l'instruction pour la modifier, et inscrire la date de mise à jour et les initiales des personnes ayant fait ces mises à jour.
Je met donc a jours nos travaux existants en ce moment même et je reviens vers toi avec une version épurée, du moins sans indice :)
 

Krolog

XLDnaute Nouveau
Re : Automatiser le réferencement de fiche d'instruction

Hello !

Ci joint les dossiers et le fichier d'instruction.
J'ai ajouté un modèle supplémentaire, j'ai rajouté le code pour vider les cellules au démarrage du fichier.
J'ai aussi fait un peu de mise en forme, et enlevé la notion d'indice dans la base et la feuille "interface".

Pas de soucis à signaler au niveau du module de recherche.
Il ne reste qu'a mettre en place le bouton mettre à jour, pour modifier ou ajouter la date de mise à jour, la personne qui l'effectue et si besoin les initiales des nouvelles personnes ayant validé l'instruction.

Désolé du temps de réponse, mais ça y est le mémoire est rendu ! J'ai pu d'ailleurs parler de ce projet et de l'aide apporté par le forum dedans, je t'en ferais suivre une copie en mp si ça t'interesse :)
 

Pièces jointes

  • Gestion instructions V3.5.xlsm.zip
    46.1 KB · Affichages: 23

Discussions similaires

Réponses
5
Affichages
269

Statistiques des forums

Discussions
315 059
Messages
2 115 818
Membres
112 553
dernier inscrit
carlos33