XL 2021 Détecter un changement dans un des contrôles de formulaire et mettre à jour un TS correspondant.

  • Initiateur de la discussion Initiateur de la discussion jeff1494
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

jeff1494

XLDnaute Occasionnel
Bonjour à toutes et tous ;

Je cherche des avis sur une idée pour faire quelque chose de simple, mais avec une efficacité maximum.

Voilà donc mon problème :

J'ai un formulaire qui contient des contrôles (TextBox, CheckBox, ComboBox), et j'aimerai pouvoir détecter si des modifications ont eu lieu sur l'un de ces contrôles pour enchainer la mise à jour du TS impacté.

Dans les TextBox certaines sont alimentées par des saisies manuelles contrôlées (du genre calendrier de Patricktoulon), et donc à priori ne nécessitent pas de contrôles supplémentaires.
D'autres TextBox sont à saisir manuellement, et doivent donc respecter des règles de gestion définies, comme par exemple des saisies numériques (Sur cela pas de soucis).
Les ComboBox sont aussi validées par traitement, car les valeurs possibles appartiennent à un TS spécifique, ComboBox qui autorisent la création de nouvelles valeurs dans le TS associé.

Donc en principe 😇🙃 tout devrait être valide en terme de cohérence et validation des données.

Ma question est de savoir comment faire pour détecter la modification d'un des contrôles pour pouvoir alors procéder à la mise à jour du tableau structuré qui contient la base de données.

Il existe bien la possibilité d'utiliser une macro du genre :

VB:
Private Sub object _Change( )
' 
' object correspondant au contrôle du formulaire
' Détecte le changement sur un contrôle, et donc on valide la saisie si besoin
' Puis enchainer sur la suite du code, par exemple
' appel d'une fonction de mise à jour de la ligne du TS impacté.
'
End Sub

Ce qui me gêne c'est qu'il serait peut-être possible d'avoir à utiliser ce genre de macro pour d'autres utilisations que la modification, comme par exemple vérifier la saisie numérique dans une TextBox.

Et là cela devient beaucoup plus complexe pour ma vieille petite cervelle fragile.

Une idée serait d'avoir un indicateur quelconque qui me dirait quelle est la procédure d'origine de la demande, et donc de pouvoir exécuter des procédures différentes.

Du style :

  • "Indic" = " " alors on vérifie que la saisie soit numérique dans la TextBox.
  • "Indic = Test" alors on exécute une procédure spécifique.
  • "Indic = Truc" alors on exécute une autre procédure spécifique.
Gérer cela avec des "Case". Là c'est quelque chose que je ne maitrise pas du tout, et j'aimerai bien apprendre.
Mais j'aimerais bien avoir votre avis sur cette manière de faire, et la lourdeur que cela peut engendrer.

En remerciant d'avance toutes celles et tous ceux qui voudront bien perdre un peu de leur temps pour me donner leur avis.
Je vous souhaite une bonne soirée à toutes et tous.
 
Bonjour à toutes et tous.

@Valtrase : Merci beaucoup pour ton exemple.
Je vais me plonger dedans, car cela correspond de très près à ce que je veux faire, et donc si j'arrive à assimiler ton code, cela me permettra de pouvoir progresser.

@dysorthographie : Je suis d'accord avec ton approche surtout celle concernant la documentation. Je vais me forcer à la mettre en place rapidement car pour l'instant je griffonne des notes à la volée, et une fois validé le bout de code, ou la fonctionnalité voulue, je mets au propre mes notes. Malheureusement le délai de mise à jour peut s'avérer être plus long que ce que je pensais au départ.
C'est majoritairement dût à mes lacunes immenses, et hésitations fréquentes.

Sur ce je vous remercie tous les deux pour avoir pris le temps de m'aider, et les conseils.

Bonne journée à toutes et tous.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
14
Affichages
465
Retour