Mauvaise données dans mon UserForm
Bonjour le forum,
Après plusieurs recherches sur plusieurs sites concernant mon problème d'UserForm je n'ai trouvé aucune aide...
Voici mon problème :
J'ai actuellement créer un formulaire excel pour avoir un listing de plusieurs équipements avec un UserForm qui contient des Textbox ainsi que des ComboBox.
Je peux ajouter et modifier des équipements suivant leur information. D'ici là aucun soucis
J'ai voulu mettre en place un système de date de maintenance (Date prochaine MP/Date dernière MP) avec une fréquence de révision (Ans/Mois) donc un calcul ce met en place. Ce système ce rentre directement avec l'aide de mon UserForm et doit normalement ce retranscrire sur mon fichier excel. Colonnes concernées : L, N,O,P
Dans l'UserForm (Activation : Ctrl + Shift + a) je saisie toues les données sauf la "date prochaine MP" qui doit après avoir rentrée la fréquence de révision (ex: 2 ans / 0 Mois) ainsi que la "date dernière MP" (ex: 21/12/2012) et après un clique sur "Ajouter" ou "Modifier" la TextBox11 concernant la "date prochaine MP" ce calcul directement sur le fichier excel ainsi que dans l'UserForm (ex:21/12/2014) ceci marche très bien pour l'équipement de la ligne 2
Mais lorsque je me met sur d'autres équipements et que je rentre une fréquence de révision (ex: 4 Ans / 2 Mois) ainsi que la "date dernière MP" (ex: 21/12/2012) et après un clique sur "modifier", sur l'excel il y a bien le changement de la date concernant la "date prochaine MP" (ex: 21/02/2017) mais la date qui s'affiche dans l'UserForm est la date de l'équipement de la ligne 2 ...
Voici un bout de code d'ou je pense que le problème viens :
Private Sub Worksheet_Change(ByVal Target As Range)
UserForm1.TextBox11.Value = Range("P2").Value
End Sub
Voilà...
Pour plus de compréhension sur l'explication de mon problème je vous fait parvenir mon fichier excel.
Pour ouvrir l'UserForm de l'excel : Ctrl + Shift + a
Ps: Je suis débutant dans le domaine de l'informatique, ceci est un projet et c'est un peu le bazar dans le fichier
Merci d'avance
Bonjour Un Kiwi
Bienvenue sur le Forum.... et je vois que tu es passé par mon blog vue ta programmation que je viens de modifier partiellement
Dis-moi s'il y a un souci et n'hésites pas à me poser des questions....
Bonjour,
Merci de vôtre réponse extrêmement rapide et1000lio.
Oui exactement je suis passé par vôtre blog. J'ai trouvé vôtre programmation très complète pour une partie de mon projet
Après vôtre modification sur le fichier, lorsque je rentre un équipement il me marque une erreur d'exécution" '-2147024809 (80070057) Objet spécifié introuvable." Et m'envoi directement sur le programme de la liste déroulante n° équipement :
Me.Controls("TB" & i) = Ws.Cells(Ligne, i + 1)
Merci d'avance
Bonsoir Un Kiwi
C'était simplement une erreur de frappe dans la programmation "insertion nouveau équipement".
J'ai quelque peu modifié la programmation entre autres :
a) insertion d'un onglet PARAMETRES permettant d'alimenter les différentes Combobox du formulaire. Cet onglet peut être alimenté au fur et à mesure de l'évolution du fichier... Ceci évite de modifier la programmation continuellement et n'utilise pas RowSource*
b) légère modification pour l'insertion d'un nouveau équipement, soit un bouton Nouveau équipement avec la programmation qui en découle
A te relire
Bonjour,
Je n'avais pas du tout pensé à faire un onglet paramètre pour facilité l'évolution, merci énormément pour vôtre temps
Mais concernant le premier message du sujet il y a toujours un Hic ...
Je m'explique avec plus de détail :
J'ouvre mon UserForm, j'utilise le ComboBox1 où je rentre l'équipement N° 2 (soit le premier de la liste).
L'userForm complètent les TextBox des données de l'équipement N°2.
J'ai envie par exemple de changer la fréquence des prochaines dates de maintenance ainsi que la date de la dernière maintenance.
Exemple : (Toujours sur l'équipement N°2)
Date dernière MP : 26/04/2016
Fréquence révision : 2 ans / 6 Mois
Je clique sur "MODIFIER" et donc :
Date prochaine MP: 23/10/2018
La modification ce fait dans l'UserForm ainsi que sur le fichier excel.
Pour l'instant aucun problème.
Maintenant je fais la même chose pour mon équipement N°3.
Exemple : (Toujours sur l'équipement N°3)
Date dernière MP : 21/02/2016
Fréquence révision : 3 ans / 2 Mois
Je clique sur "MODIFIER" et donc :
Date prochaine MP : 23/10/2018
La modification rentre dans l'UserForm la date prochaine MP de l'équipement N°2 mais dans le fichier excel la modification est correcte soit date prochaine MP : 21/04/2019
Par la suite en restant sur l'équipement N°3, je retourne sur l'équipement N°2 depuis l'UserForm et je bascule encore sur l'équipement N°3. A ce moment là, les données sont correctes dans l'UserForm : (Sans cliquer sur "Modifier")
Date dernière MP : 21/02/2016
Fréquence révision : 3 ans / 2 Mois
Date prochaine MP : 21/04/2019
Si je clique sur "MODIFIER" il me remet la date prochaine MP de l'équipement N°2 ...
Je pense que le problème viens du Worksheet_change mais je ne voit pas quel est le code approprié ... Pour que lorsque que je clique sur "MODIFIER" je ne veux pas que la date prochaine MP de équipement N°2 s'affiche constamment sur chaque équipement. Mais bien évidemment la bonne date prochaine MP de chaque équipement ...
J'espère que vous allez comprendre mon problème ...
Merci d'avance,
Un Kiwi en détresse
Je ne peux vous renvoyez le fichier car fichier trop gros ...
Bonjour,
Je n'avais pas du tout pensé à faire un onglet paramètre pour facilité l'évolution, merci énormément pour vôtre temps
Mais concernant le premier message du sujet il y a toujours un Hic ...
Je m'explique avec plus de détail :
J'ouvre mon UserForm, j'utilise le ComboBox1 où je rentre l'équipement N° 2 (soit le premier de la liste).
L'userForm complètent les TextBox des données de l'équipement N°2.
J'ai envie par exemple de changer la fréquence des prochaines dates de maintenance ainsi que la date de la dernière maintenance.
Exemple : (Toujours sur l'équipement N°2)
Date dernière MP : 26/04/2016
Fréquence révision : 2 ans / 6 Mois
Je clique sur "MODIFIER" et donc :
Date prochaine MP: 23/10/2018
La modification ce fait dans l'UserForm ainsi que sur le fichier excel.
Pour l'instant aucun problème.
Maintenant je fais la même chose pour mon équipement N°3.
Exemple : (Toujours sur l'équipement N°3)
Date dernière MP : 21/02/2016
Fréquence révision : 3 ans / 2 Mois
Je clique sur "MODIFIER" et donc :
Date prochaine MP : 23/10/2018
La modification rentre dans l'UserForm la date prochaine MP de l'équipement N°2 mais dans le fichier excel la modification est correcte soit date prochaine MP : 21/04/2019
Par la suite en restant sur l'équipement N°3, je retourne sur l'équipement N°2 depuis l'UserForm et je bascule encore sur l'équipement N°3. A ce moment là, les données sont correctes dans l'UserForm : (Sans cliquer sur "Modifier")
Date dernière MP : 21/02/2016
Fréquence révision : 3 ans / 2 Mois
Date prochaine MP : 21/04/2019
Si je clique sur "MODIFIER" il me remet la date prochaine MP de l'équipement N°2 ...
Je pense que le problème viens du Worksheet_change mais je ne voit pas quel est le code approprié ... Pour que lorsque que je clique sur "MODIFIER" je ne veux pas que la date prochaine MP de équipement N°2 s'affiche constamment sur chaque équipement. Mais bien évidemment la bonne date prochaine MP de chaque équipement ...
J'espère que vous allez comprendre mon problème ...
Merci d'avance,
Un Kiwi en détresse
Je ne peux vous renvoyez le fichier car fichier trop gros ...