Aide pour GMAO, bouton recherche et modifier

Bonjour actuellement débutant en VBA excel, j'ai comme projet de réaliser une GMAO pour mon examen final. Cependant je voudrais réaliser un bouton recherche et modifier pour certains caractères.

J'aimerais pouvoir faire une recherche à partir du "TAG" qui sera déjà rentré, juste à mettre le tag en question et de pouvoir faire une recherche et tomber directement sur les informations de celui-ci.

J'aimerais également pour le bouton modifier pouvoir modifier n'importe quand des informations.

Je vous envoie mon fichier pour pouvoir jeter un coup d’œil, je suis complètement perdu. J'essaye au mieux de me débrouiller mais là je suis vraiment à court d'idées.

Voici ci-joint mon fichier en espérant avoir de l'aide, merci d'avance.

106projet-gmao.xlsm (59.86 Ko)

Bonjour.

Si je comprend bien d'après ce que je peux voir de ton fichier.

Tu veux pouvoir faire une recherche à partir du Userform qui s'ouvre quand clic sur le bouton "Ajouter équipement" ?

Du coup c'est plutôt un bouton "Gestion des Equipements"

Pour la recherche je mettrai plutôt une combobox dans ton userform pour l'affichage du choix de l'équipement existant.

1) cela éviterai les erreurs d'orthographe

2) ceci va bien séparer l'action de nouvelle saisie de celle d'une modification.

3) La combobox va te permettre de récupérer le N° de ligne et donc de récupérer les infos dans tes textboxs

( voir code vba combobox change )

c'est avec ce même code que tu vas récupérer numéro de ligne que tu pourras utiliser pour valider les modifications avec ton bouton

"Modifier" ( mais je te laisse cette partie à faire. )

Merci à toi de cette aide !

Ton principe avec une Combobox me va avec merveille, cela sera plus simple.

Je vais essayer du coup pour le bouton modifiable et je te tiens au courant par la suite sur ce sujet.

Bonjour et sur le forum,

Heureusement tu as trouvé un forum d'aide sur lequel tu pourras poser tes questions

J'aimerais pouvoir faire une recherche à partir du "TAG" qui sera déjà rentré, juste à mettre le tag en question et de pouvoir faire une recherche et tomber directement sur les informations de celui-ci.

Donc ton TAG, c'est ce qui identifie ton equipement, il te sert de donnée unique, deux équipements ne peuvent pas avoir le même TAG, tu vas saisir un TAG, le chercher, et le programme va devoir trouver la ligne correspondante et charger ses informations.


J'aimerais également pour le bouton modifier pouvoir modifier n'importe quand des informations.

On revient à la même chose que pour la recherche, tu vas avoir ton TAG qui va servir à chercher la ligne à modifier, puis tu exportes le contenu de ton formulaire sur la ligne.

Déjà, tu as une bonne base, ton fichier est bien structuré, la logique que je ne comprends pas par contre, c'est les boutons, tu veux pouvoir chercher des informations ou les modifier, mais il faut cliquer sur "Nouvel" pour le faire, ce n'est pas intuitif. Peut-être que tu devrais faire un bouton "Afficher", et après proposer à la personne avec tes boutons en bas de formulaire, soit d'ajouter un nouvel équipement, soit de modifier ses informations, de les consulter, ou de les supprimer, sans avoir à regarder la feuille où les informations sont stockées.

L'utilisateur d'un logiciel n'a pas besoin de voir directement la base de données en brut, il passera uniquement par tes formulaires qu'il pourra appeler avec l'écran d'accueil

Je te conseille de nommer tes contrôles et tes formulaires de façon claire, ne pas laisser UserForm1, TextBox1 etc... préférer utiliser UserForm_equipements, ou Userform_equ si tu veux faire court, et TextBox_tag, tu peux aussi utiliser des abréviations comme Usf_equ et TBx_tag par exemple. L'important c'est que tu fasses ton standard et que tu le suives, ça te servira beaucoup pour la programmation, ça t'évitera de confondre tes contrôles, et rendra ton code tout de suite plus compréhensible!

Pour trouver le numéro de la ligne contenant le TAG, que ce soit pour consulter les informations ou les modifier, il faudra donc que tu cherches le TAG sur la colonne A, ton souci est donc: trouver une fonction permettant la recherche, et savoir quand se termine ton tableau.

Pour la recherche, tu peux utiliser la fonction Find : https://docs.microsoft.com/fr-fr/office/vba/api/excel.range.find

Elle te renvoie la cellule qui correspond à ta recherche, c'est l'équivalent du raccourci Ctrl + F.

Pour la plage, comme tu as mis un style de tableau à ton tableau, il apparait dans le gestionnaire de noms, tu peux appeler le tableau ainsi que ses champs par leurs noms, si je sélectionne la plage de données du champ TAG, l'enregistreur de macro renvoie: Range("Tableau1[TAG]"), tu auras donc ta plage de recherche

Je te laisse déjà lire tout ça, bon courage

EDIT: salut Xmenpl

EDIT: salut Xmenpl

Salut à toi !

Pour le Tag c'est exactement ce que tu viens de dire, il n'y aura jamais 2 équipements qui auront le même tag. C'est pour cela que j'aimerais avec par exemple la recherche pouvoir mettre mon tag pour pouvoir voir apparaître les informations sur celui-ci.

Pour le modifier, effectivement je me suis perdu dans ce que je faisais. Je voudrais par exemple avec la recherche du tag pouvoir modifier directement mes informations qui apparaissent. Avoir un bouton modifier pour bien enregistrer mes modifications effectuées.

C'est vrai que sa serait mieux que l'utilisateur utilise juste le formulaire, soit pour ajouter un équipement ou bien pour chercher/modifier.

Je pensais mettre un mode admin je sais pas si cela est possible mais en gros de pouvoir bloquer l’accès au listening. Si l'utilisateur veut voir il devra rentrer un mot de passe.

Pour la partie ou tu parles de la formule je suis clairement perdu, je ne comprends pas grand chose

Re,

La partie formule?

as-tu besoin d'explications en plus? Xmenpl a visiblement fait une bonne participation

Pour le Bouton "Enregistrer modification" ce n'est pas bien compliquer c'est presque le même code que celui de la combox

sauf que tu inverses le sens

Ce n'est plus la textbox qui est égal à la cellule … mais la cellule qui est égale à la textbox

Private Sub CommandButton3_Click()
'modifier
Dim ligne As Single
ligne = ComboBox1.ListIndex + 10

Sheets("Equipement").Cells(ligne, 1).Value=TextBox1.value
 ' idem pour les autres cellules en changeant le numéro de colonne (ligne, 2) puis trois puis quatre ….

End Sub

J'ai essayé de faire le bouton recherche sur l'userform fournisseur mais il ne va pas faire la recherche j'envoie le fichier j'ai fait la modification pour voir plus claire au niveau des userform.

J'ai essayé de faire le bouton recherche sur l'userform fournisseur mais il ne va pas faire la recherche j'envoie le fichier j'ai fait la modification pour voir plus claire au niveau des userform.

Projet GMAO modification.xlsm

C'est presque tout bon.

Dans les propriétés de la nouvelle combobox ( fournisseur ) Le "Row source" ne peux pas être = à "TAG" …. çà c'est pour l'autre

userform.

Sur la feuille Fournisseurs tu selectionnes une plage qui démarre de A10 jusque A1000 par exemple pour 1000 fournisseurs.

à adapter en fonction de ton besoin.

Tu donnes un nom à cette plage et dans la propriété "Rowsource" de ton combobox tu donnes le même nom.

Logiquement j'ai fait tous ce que tu as dit par rapport au row source ainsi de selectionner la plage mais sans succès..

Logiquement j'ai fait tous ce que tu as dit par rapport au row source ainsi de selectionner la plage mais sans succès..

Projet GMAO MODIFFF.xlsm

Pas seulement selectionner la plage surtout lui donner un nom. regarde sur celui que je t'ai retourné.

Je t'envoie ma modification logiquement j'ai bien mit un nom à la plage.

Je t'envoie ma modification logiquement j'ai bien mit un nom à la plage.

Projet GMAO MODIFFF.xlsm

TOn fichier fonctionne correctement mais faudrait au moin mettre un nom de fournisseur pour que la combobox trouve

quelque chose lol.

Pour tester une modification encore faut-il qu'il y ait quelque chose à modifier

Rechercher des sujets similaires à "aide gmao bouton recherche modifier"