GMAO Excel-VBA

Bien le bonjour à tous

Je suis tout nouveau dans le forum et je suis sur une petite problématique dans un centre commercial de ma ville. Je suis chargé de créer un logiciel de GMAO pour ce même centre commercial. J'ai pensé à la solution Excel et VBA. Pour un début, grâce au forum j'ai déjà réussi à créer des formulaires pour enregistrer un certain nombre d'informations utiles. mais je suis buté sur certains soucis qui m'empêchent d'avancer:

  • J'aimerai enregistrer des données dans un tableau ligne par ligne de telle sorte que si j'enregistre par exemple une donnée dans un tableau à partir d'un formulaire, la prochaine donnée s'enregistre à la prochaine ligne. mais jusqu'ici je n'ai pas pu trouver le code exact
  • Comment intégrer un bouton calendrier sur un formulaire de telle sorte que quand je clique sur le bouton calendrier, la date choisie s'enregistre dans un textbox
  • J'aimerai aussi intégrer une fonction recherche. J'aimerais que l'application puisse me permette de faire des recherches d’équipement ou de pièce
Ci-joint vous trouverez une ébauche de ce que j'ai déjà réalisé, et la fonction calendrier que j'aimerais intégrer à certains de mes formulaire. Je vous remercie d'avance.

Cordialement

capture calendrier
2'057projet-vb-gmao.xlsm (102.15 Ko)

Bonjour,

En réponse à votre demande et à titre d'exemple, j'ai complété votre formulaire "Intervention Corrective" :

1- ajout de mon calendrier

2- ajout de mes heures réglées de 8h à 22h avec tranches de 5 minutes mais le réglage est évidemment modifiable

3- petite amélioration de votre code, en particulier pour charger plus rapidement votre combobox

2'039projet-vb-gmao1.xlsm (122.76 Ko)

Bien le bonjour

Merci infiniment pour votre aide, grâce à vous je vais pouvoir avancer plus rapidement.

Excellente journée à vous

Cordialement.

Salut c'est encore moi.

Je te remercie encore pour ton aide, les fonctionnalités ajoutées sont exactement celles que je veux.

Mais, je suis encore bloqué. Je viens tout juste de débuter dans l'utilisation du VBA et honnêtement je ne comprends pas comment faire pour pouvoir copier les codes (notamment calendrier et heure) pour les ajouter aux autres formulaires. Pourrais-tu m'expliquer basiquement comment je devrais m'y prendre s'il te plaît?

Je te remercie encore d'avance.

Bonjour,

Pour ajouter par exemple le premier calendrier sur le formulaire "commande" à partir du formulaire "intervention corrective"

Dans l'éditeur VBA :

copie du contrôle

1- ouvrir le formulaire "intervention corrective"

2- sélectionner le label1-image correspondant au Textbox de la Date de demande

3- menu --> Edition --> copier

4- ouvrir le formulaire "commande"

5- menu --> Edition --> coller

6- placer le label-image à côté du Textbox de la Date de commande

copie du code

1- ouvrir le code du formulaire "intervention corrective"

2- copier le code correspondant au label1_image (Datepicker1 est le nom du label1-image)

Private Sub Datepicker1_Click()
    'affichage calendrier
    Call afficher_calendrier(TextBox_date_demande_intervention_corrective)
End Sub

3- ouvrir le code du formulaire "commande" et y copier le code ci-dessus

4- y remplacer la Textbox : TextBox_date_demande_intervention_corrective par la Textbox correspondant à la date de commande

5- le code définitif est donc :

Private Sub Datepicker1_Click()
    'affichage calendrier
    Call afficher_calendrier(TextBox_date_commande)
End Sub

Bien le bonjour

Merci, ça marche parfaitement. Mais j'ai une autre préoccupation. Pour avoir les commandes d'heure dans d'autres formulaires, est-ce que je devrais suivre la même procédure?

Merci encore.

Bonjour,

La procédure est similaire :

Dans l'éditeur VBA :

copie du contrôle

1- ouvrir le formulaire "intervention corrective"

2- sélectionner les 2 scrollbars correspondant à l'heure de début d'intervention

3- menu --> Edition --> copier

4- ouvrir le formulaire cible

5- menu --> Edition --> coller

6- placer les 2 scrollbars à côté du textbox de l'heure

copie du code

1- ouvrir le code du formulaire "intervention corrective"

2- copier les code correspondants aux 2 scrollbars (Timeset1 : heures, Timeset1a : minutes)

Code :

Private Sub Timeset1_Change()
    TextBox_heure_debut_intervention_corrective = Format(Timeset1 / 24, "hh:mm")
    TextBox_heure_debut_intervention_corrective.SetFocus
    Timeset1a = 0
End Sub

Private Sub Timeset1a_Change()
    TextBox_heure_debut_intervention_corrective = Format(Timeset1 / 24 + (Timeset1a / 12) / 24, "hh:mm")
    TextBox_heure_debut_intervention_corrective.SetFocus
End Sub

3- ouvrir le code du formulaire cible et y copier le code ci-dessus

4- y remplacer la Textbox : TextBox_heure_debut_intervention_corrective par la Textbox correspondant à l'heure cible

- le code définitif est donc :

Code :

Private Sub Timeset1_Change()
    TextBox_heure_cible = Format(Timeset1 / 24, "hh:mm")
    TextBox_heure_cible.SetFocus
    Timeset1a = 0
End Sub

Private Sub Timeset1a_Change()
    TextBox_heure_cible = Format(Timeset1 / 24 + (Timeset1a / 12) / 24, "hh:mm")
    TextBox_heure_cible.SetFocus
End Sub

5- ajouter ce code dans la procédure événementielle "Private Sub UserForm_Initialize" pour initialiser les scrollbars

Private Sub UserForm_Initialize()
    '............................................... 
    'initialisation Timesets 8h à 22h et tranches de 5 mn
    Timeset1.Min = 8: Timeset1.Max = 22: Timeset1 = 8: Timeset1a.Min = 0: Timeset1a.Max = 12: Timeset1a = 0

    'initialisation heures départ et retour à 8h
    Timeset1 = 8
    TextBox_heure_cible = Format(Timeset1 / 24, "hh:mm")
        '..................................................... 

Salut.

J'ai fait ce que vous m'aviez recommandé de faire avec le formulaire "entree_sortie", mais au moment de lancer mon formulaire depuis son bouton il y a une erreur intitulée "erreur 424 objet requis qui se signale"

J'ai essayé de trouver l'erreur mais honnêtement je n'y arrive pas. Voilà le fichier en pièce jointe.

Merci

718projet-vb-gmao1.xlsm (139.94 Ko)

Bonsoir,

Dans le code que je vous ai fourni, j'ai oublié d'enlever l'initialisation du deuxième contrôle d'heure (Timeset2 et Timeset2a).Une erreur se produit car ce contrôle n'existe pas. Ceci sera mieux :

Private Sub UserForm_Initialize()
    '............................................... 
    'initialisation Timesets 8h à 22h et tranches de 5 mn
    Timeset1.Min = 8: Timeset1.Max = 22: Timeset1 = 8: Timeset1a.Min = 0: Timeset1a.Max = 12: Timeset1a = 0

    'initialisation heures départ et retour à 8h
    Timeset1 = 8
    TextBox_heure_cible = Format(Timeset1 / 24, "hh:mm")
        '..................................................... 

Bien le bonjour

Merci encore ça marche cette fois. Content de pouvoir compter sur votre expérience et vos connaissances.

Excellente journée à vous, cordialement.

Rebonjour à vous.

Me voici de nouveau buté à un soucis. j'ai appliqué tous les codes dont vous vous m'avez fait part à tous les formulaires possibles et ça marche parfaitement, mais maintenant j'aimerais avancer.

Je voudrais ajouter d'autres fonctionnalités à mon logiciel mais je vais commencer par celle qui me semble la plus compliquée. En effet, j'aimerais, pour chaque équipement enregistré au préalable, avoir accès à partir d'un bouton (par equipement à mon avis), à des indicateurs tels que le nombre de défaillance, la MTBF, la MTTR, le cumul des coûts de maintenance... Mais le soucis est que j'ai plus de 100 équipements à référencer et je ne sais pas trop comment m'y prendre. J'aimerais aussi surtout dresser automatiquement des diagrammes Pareto sur la base des indicateurs cités plus haut.

Si vous avez des axes de solutions je vous en serai une fois de plus reconnaissant.

Cordialement

Bonjour,

On n'est pas à ce stade dans un problème Excel mais d'abord dans un problème de définition des indicateurs (avec leur règle de calcul)que le ou les utilisateurs de votre application voudront suivre par exemple taux de panne, taux d'indisponibilité, causes les plus fréquentes des pannes, ....

Une fois ces indicateurs correctement définis, vos onglets devront contenir les données nécessaires à leur calcul et être organisés afin d'avoir la restitution la plus simple possible.

NB : Dans le fichier que vous avez mis à disposition, je n'ai pas vu dans une intervention corrective, de lien à l'équipement auquel elle se rapporte.

Bien le bonjour.

J'ai pris acte de vos indications et vous avez raison. J'avais juste oublié de vous joindre mon travail. Ci-joint donc vous avez 2 feuilles excel: l'une listant en gros toutes les données dont j'ai besoin pour mon logiciel et l'autre étant mon logiciel.

NB: je tiens à préciser qu'au niveau du formulaire intervention corrective, plusieurs TextBox ne sont pas encore affectée à la feuille intervertion corrective.

Merci encore, cordialement.

452donnees.xlsx (9.81 Ko)
571projet-vb-gmao1.xlsm (172.22 Ko)

Bonjour,

Dans votre feuille "Données.xslsx", les indicateurs sont listés mais aucune règle de leur calcul n'y est définie.

Bien le bonjour.

J'ai pourtant mis les formules pour chaque indicateur, ou alors ce n'est pas ce que vous entendez par "règle de calcul". Dans ce cas pouvez-vous me donner un exemple banal de règle de calcul s'il vous plaît? Je ne suis pas sûr de bien comprendre.

Merci.

Je ne vois pas où sont ces formules.

Par exemple, plusieurs formules sont possibles pour le MTBF :

MTBF = Temps de Fonctionnement / Nombre de pannes ? : Une règle de calcul du temps de fonctionnement est à établir en fonction de la période observée, du temps des pannes, du temps d'emploi de l'équipement, de l'unité de temps retenue, ....

MTBF = Temps de bon Fonctionnement / (Nbre pannes + Nbre µ-arrêts) ?

Aucune de ces données ne figure dans votre classeur.

Nombre de défaillances ? La donnée défaillance ne figure pas dans votre classeur.

Par ailleurs, vous indiquez une panoplie d'indicateurs. Sont-ils tous à retenir pour l'entreprise concernée ??

Pour ma part, je ne continuerai à vous aider que si vous définissez un besoin précis sur Excel.

Salut.

Voici une idée de règles de calcul sur les coûts de maintenance en ce qui concerne les interventions correctives. Je ne sais pas si elles sont suffisamment significatives pour vous donc si vous avez des remarques, suggestions dites le moi et je me corrigerai. Ci-joint le document word qui contient les règles de calculs et mon logiciel.

Merci.

376projet-vb-gmao1.xlsm (171.16 Ko)
368regles-de-calcul.docx (15.18 Ko)

Bien le bonjour à vous

J'ai trouvé une solution avec les données d'amortissement et de rentabilité. J'ai crée une feuille dans mon logiciel ou j'ai rentré toute les formules et les données d'amortissement et de rentabilité dont je vous avais fait part. De ce fait, pour visualiser la rentabilité d'un équipement, on aura juste besoin d'entrer ses références nécessaires d'un tableau (valeur du bien, nombre d'années d'amortissement et mois d'acquisition). Vous pourrez le constater par vous même. Si Vous avez des suggestions ou des remarques je suis preneur et ouvert.

Par ailleurs j'aimerais ajouter une fonction recherche (dans chaque feuille), qui me permettrait de rechercher des données dans une feuille. J'ai essayé de le faire avec d'autres travaux similaires téléchargés ici mais je n'y arrive pas. J'aimerais vraiment votre aide pour finir ce logiciel. s'il vous plait.

Ci-joint vous trouverez mon travail mis à jous depuis et le model sur lequel je m'inspire depuis.

Excellente journée à vous, cordialement

860projet-vb-gmao1.xlsm (221.84 Ko)
1'046gmaovb-v5-7.xlsb (911.12 Ko)

Bonjour Mister_Shelito

Je viens de tester votre fichier, c'est un bon travail je crois, mais il reste des retouches à faire, la majorité des bouton quand je clique dessus il se bloque (voir photo)

je ne suis pas un expert d'excel et je ne sais pas si le problème est chez moi (Excel 2010) ou bien dans votre fichier.

SVP, veuillez m’éclairer

Merci

gmao1 gmao2

Bonjour Tazemourth,

Décocher la bibliothèque manquante dans l'éditeur Visual Basic et tout rentrera dans l'ordre :

menu outils --> références --> manquant ?

Rechercher des sujets similaires à "gmao vba"