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

Microsoft 365 Récupérer le nom du combobox dès qu'il change de valeur

miguelangelo

XLDnaute Occasionnel
Bonjour à tous,

je ne sais pas si je vais arriver à expliquer mon problème.

pour commencer le visuel de mon Userform :

le process : chaque ligne est identifiée de 1 à 9 et chaque colonne correspond au nom indiqué au dessus.
le premier combobox s'appelle "application1", le 2nd à droite s'appelle "Type1"...
dans chaque combobox "application", j'appelle le nom d'une application. Dans le combobox "type", j'indique soit des dépenses en charges, soit en immobilisation.

en fonction de l'indication "charge" ou "immobilisation" dans Type dépense, donc dès que ca change, la macro va chercher l'"application" dans un tableau et me rapatrie le compte d'imputation en conséquence dans le combobox "EOTP retenu".

Ce que je voudrais, c'est stocker dans une variable le dernier caractère de nom du combobox "type", par exemple 1, pour lui dire d'aller chercher la valeur du combobox(application) &1
Private Sub type_budget1_Change()

Dim origine As Range, recherche As String, reference As Integer

'reference= right(.................,1).value ' c'est ici que je bloque
'recherche = Application&reference.Value ' et je doute pouvoir l'appeler comme ca

et espérant avoir été clair.

Merci d'avance pour votre aide
 

Pièces jointes

  • base de travail2.xlsb
    106.7 KB · Affichages: 2
Dernière édition:

mromain

XLDnaute Barbatruc
Bonjour miguelangelo, gbinforme,

Tout à fait d’accord avec gbinforme !
Tu trouveras ci-joint un exemple basique avec un module de classe Cls_DataRow qui permet de regrouper les différents contrôles de saisie d’une "ligne" et gérer leur comportement.

Au final, il reste dans le userform à initialiser la liste des "lignes de contrôles".

A+
 

Pièces jointes

  • ExempleSaisie.xlsm
    32.3 KB · Affichages: 6
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…