Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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.
 
Hello,

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.
Pour moi la question n'est pas 100 % limpide : que veux-tu dire par "détecter la modification" ?

Normalement tu dois avoir le "_Change" qui intercepte un éventuel changement.
Du coup je suppose c'est autre chose que tu veux faire. Mais quoi ?
 
- 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
464
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…