Créer une boite de dialogue pour communiquer entre deux services Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
M
MakeThemSuffer
Jeune membre
Jeune membre
Messages : 30
Inscrit le : 26 juin 2018
Version d'Excel : 2013 FR

Message par MakeThemSuffer » 26 juin 2018, 20:31

Bonjour je suis nouveau sur le forum. Je suis en stage dans une compagnie aérienne et ils ont des problèmes de communication entre deux services. J'ai donc pour mission d'y remédier avec un fichier excel "interactif", "intuitif" simple rapide etc..

Ayant découvert l'existence des macros il y a deux semaines, j'ai vraiment du mal avec tout ces codes.

J'ai donc un fichier excel (en pièce jointe) simple, ou je rentre des dates.

J'aimerais ajouter a ce tableau en boite de dialogue , de façon a ce que les deux services ayant de problèmes de communication, puisse communiquer.

Cette boite de dialogue demanderait au premier service de remplir les dates (sans DTpicker) , le nom d'une mission et dans la colonne fiche correspondante, qu'il ai un bouton qui ouvre l'explorateur de fichier dans un certain répertoire, lui permette de choisir un fichier et ensuite de le joindre sous forme de lien hypertexte dans la colonne correspondante. Le fichier en question est un espèce de formulaire composé de deux partie, une pour chaque service. Ainsi le deuxieme service recevrai les dates de mission et le formulaire attribué a la mission pour pouvoir remplir sa partie. Il faudrait donc que dans les dernières colonnes, il y ai une case a cocher lorsque le service est fini de remplir sa partie. De plus il faudrait que le formulaire dans l'hypertexte se mette a jour, je veux dire qu'une fois qu'il a été modifié par un service, l'autre service puisse voir la version modifiée.

C'est assez compliqué, je passe mes journées a essayer seul de comprendre langage VBA, chercher partout sur internet, met très peu explique les lignes alors je n'arrive jamais a adapter a mon cas, alors le moindre petit conseil est a prendre, notamment si possible expliquer chaque ligne de code.

J'espère avoir été clair dans mon explication, si vous avez besoin de plus de détail dites moi
Je ne demande pas de me faire le travail, mais j'ai tellement de mal que ça y reviens presque.

Merci de votre aide
projet.xlsm
(25.58 Kio) Téléchargé 9 fois
formulaire VIERGE partagé OPS & M.xlsm
(50.11 Kio) Téléchargé 10 fois
B
Braters
Membre dévoué
Membre dévoué
Messages : 579
Appréciations reçues : 10
Inscrit le : 23 décembre 2015
Version d'Excel : 2013 FR

Message par Braters » 27 juin 2018, 10:12

Bonjour,

Ce que tu tentes de faire n'est pas très compliqué. Cependant, il nous faut quelques infos supplémentaires.

Où se trouve ce fichier projet et ce formulaire ? Est ce sur un réseau accessible par les 2 services en simultanée avec des fichiers partagés ? Ou bien est-ce que des fichiers en local pour chaque service ? Les deux fichiers sont-ils dans le même dossier ou pas ?

En attente de te lire,

A plus !
:btres:
M
MakeThemSuffer
Jeune membre
Jeune membre
Messages : 30
Inscrit le : 26 juin 2018
Version d'Excel : 2013 FR

Message par MakeThemSuffer » 27 juin 2018, 11:33

Bonjour
Merci pour votre réponse, comme c'est moi qui doit créer ce "système", qu'il n'existe pas encore. Je vous laisse choisir la solution la plus simple, et déterminer ou doivent être ces fichiers pour fonctionner. Les deux services sont dans la même boite mais des bureaux différent, j'imagine donc qu'ils ont un réseau avec des fichiers partagés .
Modifié en dernier par MakeThemSuffer le 27 juin 2018, 11:51, modifié 1 fois.
M
MakeThemSuffer
Jeune membre
Jeune membre
Messages : 30
Inscrit le : 26 juin 2018
Version d'Excel : 2013 FR

Message par MakeThemSuffer » 27 juin 2018, 11:47

j'ai également avancé le fichier projet, c'est à dire que j'ai réussi à ébaucher un userform pour ajouter une mission, il permet également de compter le nombre de jours restant avant son début. De plus j'ai réussi a faire en sorte que la liste des missions se trie en fonction du temps restant (=urgence) Il est loin d'être fini mais je commence a comprendre le fonctionnement
projet v2.xlsm
(28.98 Kio) Téléchargé 6 fois
B
Braters
Membre dévoué
Membre dévoué
Messages : 579
Appréciations reçues : 10
Inscrit le : 23 décembre 2015
Version d'Excel : 2013 FR

Message par Braters » 27 juin 2018, 14:24

Re,

Alors voici ma proposition.

Il faut d'abord mettre le fichier "projet" dans un dossier sur le réseau, accessible aux 2 services. Dans ce dossier, créer un sous-dossier "Fiches" (c'est précis, donc si tu veux un autre noms, il faut modifier dans la macro). Dans ce sous dossier "Fiches", tu y places le fichier "formulaire VIERGE partagé OPS & M.xlsm" (Ce nom précis aussi, à adapter si tu veux changer).

Dans le fichier projet, tu peux créer ta mission, puis tu crées la fiche, tu sélectionnes la mission à traiter, cela va créer une copie du formulaire vierge et renommer cette copie en "Formulaire_NomdelaMission_DatedelaDemande" (modifiable si besoin). Et créer une lien hypertexte dans la cellule de la ligne de la mission sélectionnée. Attention, les noms de missions doivent être unique dans ce processus, à voir si cela est possible de ton coté.

Je te laisse tester !
projet v2.xlsm
(32.02 Kio) Téléchargé 9 fois
A plus !
1 membre du forum aime ce message.
:btres:
M
MakeThemSuffer
Jeune membre
Jeune membre
Messages : 30
Inscrit le : 26 juin 2018
Version d'Excel : 2013 FR

Message par MakeThemSuffer » 27 juin 2018, 15:36

Merci beaucoup, cela fonctionne parfaitement :mrgreen: :mrgreen: :mrgreen: , du moins la création de la fiche adaptée, et ajout du lien hypertexte.
Je n'ai pas encore testé la communication mais je vous fais confiance.

J'ai quelques bricoles a proposer pour améliorer : est-il possible lorsque l'on a choisi la mission pour laquelle on veux créer une fiche, que celle ci s'ouvre afin qu'on puisse la remplir en plus de mettre le lien hypertexte ?

Plus compliqué aussi : dans cette fiche il y a 2 cases a cocher "parties complétée" (une par service). Est-il possible que lorsque par exemple le bureau des opérations ai fini de compléter sa partie, coche cette case ce qui entraîne la sauvegarde de cette fiche, sa fermeture et écrive "remplie" dans le fichier "projet" dans la colonne bureau OPS ? (ou alors que ça coche une case)

Une autre petite bricole aussi : Comment créer un bouton "supprimer une mission" dans le fichier projet, qui demande dans une listbox laquelle (de mission), et qui entraînerai la surpression de la ligne correspondant a cette mission ?

Dernier petit détail : lorsqu'une mission est créée, comment faire pour que la ligne ajoutée soit encadrée ?

je vous joint la version que j'ai légèrement modifiée; c'est a dire que j'ai ajoutée une fonction pour trier les missions en fonction de l'urgence avec le code ci dessous :
   ActiveWorkbook.Worksheets("Feuil1").AutoFilter.Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Feuil1").AutoFilter.Sort.SortFields.Add Key:=Range _
        ("D1:D5"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("Feuil1").AutoFilter.Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
merci encore, votre aide est excellente :)
projet v3 (1).xlsm
(35.59 Kio) Téléchargé 4 fois
B
Braters
Membre dévoué
Membre dévoué
Messages : 579
Appréciations reçues : 10
Inscrit le : 23 décembre 2015
Version d'Excel : 2013 FR

Message par Braters » 28 juin 2018, 10:50

bonjour,

voilà les deux fichiers à remplacer.
Le fichier "projet" adapté selon tes besoins et le fichier "formulaire VIERGE..." adapté aussi avec les boutons à checker.

Donc remplacer les 2 fichiers par ceux là.
Attention, les macros dans le fichier "formulaire..." fonctionnent seulement si le fichier "projet" s'appelle exactement "projet" donc à toi de voir pour trouver le nom final de ton fichier pour adapter les macros quand ce sera nécessaire.

ah et la macro pour supprimer une mission, supprime également le formulaire qui était lié à celle-ci s'il y en avait un. Voilà :mrgreen:

A plus !
projet.xlsm
(36.94 Kio) Téléchargé 10 fois
formulaire VIERGE partagé OPS & M.xlsm
(51.82 Kio) Téléchargé 8 fois
1 membre du forum aime ce message.
:btres:
M
MakeThemSuffer
Jeune membre
Jeune membre
Messages : 30
Inscrit le : 26 juin 2018
Version d'Excel : 2013 FR

Message par MakeThemSuffer » 28 juin 2018, 11:41

Bonjour
merci beaucoup cela marche très bien.
J'ai cependant deux fenêtres d'avertissement qui s'ouvrent concernant des liaisons externes a mettre a jour. Qu'est ce que sont ces liaisons ?
J'ai également supprimé les listes d'hyperliens qui étaient dans le formulaire vierge dans l'autre feuille, totalement inutiles. Les fenêtres d'avertissement reviennent quand même. Y a t-il moyen de ne plus les voir a chaque fois que l'on crée une nouvelle fiche ?

Une autre question, est-il possible que le service des opérations puisse modifier le fichier projet (en ajoutant ou supprimant des missions et créer les fiches) mais que le service de navigabilité (bureau M) puisse seulement ouvrir le lien hypertexte vers la fiche pour la remplir ? (mais que le système case cochée , message "rempli" fonctionne quand même).

2 autres proposition d'amélioration :
Comment ajouter les bordures autour des cases de la ligne ajoutée par le bouton "ajouter une mission" ?
Dans la fiche projet, si je déplace les boutons pour les mettre au dessus du tableau plutôt que les mettre a droite et un peu cachés, cela ne posera aucun problème ?

Merci encore de votre aide !
Je vous joins le formulaire vierge sans les liens inutiles.
formulaire VIERGE partagé OPS & M.xlsm
(46 Kio) Téléchargé 7 fois
B
Braters
Membre dévoué
Membre dévoué
Messages : 579
Appréciations reçues : 10
Inscrit le : 23 décembre 2015
Version d'Excel : 2013 FR

Message par Braters » 28 juin 2018, 11:53

Pour les liens externes, cela vient du fichier, surement des formules dans certaines cellules qui font références à d'autres fichiers et donc des formules à mettre à jour. Tu peux avoir la liste des liens en allant dans l'onglet "Données" , Section "Connexions" et en cliquant sur "Modifier les liens". A toi de voir si tu as des liens inutiles ou pas ! Si les liens sont utiles, tu peux toujours enlever le message d'alerte en cliquant sur "Invite de démarrage..." sur la fenêtre des liens.

Pour limiter l'utilisation du fichier selon le service, je te propose soit de créer un USERFORM à l'ouverture du fichier où la personne choisit son service et selon sa réponse, le fichier bloque ou non l'utilisation. Sinon un mdp que tu fournis uniquement au service des OPS qui permet de débloquer l'utilisation du fichier.

Normalement les bordures se mettent automatiquement sur une nouvelle mission car j'ai rajouté une mise en forme conditionnelle qui met des bordures de A à G si A n'est pas vide.

Non tu peux les déplacer comme tu veux, par contre il faut passer en "Mode Création" dans l'onglet "Développeur" pour pouvoir les sélectionner par un clique droit.
:btres:
M
MakeThemSuffer
Jeune membre
Jeune membre
Messages : 30
Inscrit le : 26 juin 2018
Version d'Excel : 2013 FR

Message par MakeThemSuffer » 28 juin 2018, 13:41

Je n'ai pas de connexions ça me parait bizarre

Merci pour les bordures je n'avais pas vu

Lorsque je supprime les dernières missions restante j'ai cette erreur :
If Nom_Form <> "" Then
    If Dir(Chemin & Nom_Form, vbDirectory) <> "" Then
        Kill (Chemin & Nom_Form)
    End If
End If
avec Kill (Chemin & Nom_Form) en jaune dans le debogueur
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message