Alimentation d'un textbox

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 !

Caroline51

XLDnaute Nouveau
Bonjour à tous,

Tout d'abord mes meilleurs vœux à toutes et à tous pour l'année 2015,
avec une petite pensée pour les acteurs actifs de ce forum !

Je suis à la recherche d’une procédure qui pourrait alimenter directement un TextBox par l’intermédiaire d’un ou deux ComboBoxans un unserform
A partir de la page list, faire une première sélection par l’intermédiaire d’un ComboBox puis, une seconde sélection à partir du résultat de la précédente et enfin que le second résultat s’affiche dans un textbox, le tout alimentant une base de données sur une feuille nommée BDC
J’espère avoir été assez clair dans ma demande
Je joins mon fichier
Merci d’avance

Caroline51
 

Pièces jointes

Re : Alimentation d'un textbox

Bonsoir,
Suite à votre dernier message, j’ai essayé d’associer deux fichiers pour en faire plus qu’un.
Reste un petit souci dans cette association que je n'arrive pas à ôter. C'est pour cela que ce soir je sollicite de nouveau de l'aide.

Pour faire court, mes deux fichier comporte chacun un userform ;
Le premier est un fichier de saisie d’information, le second est un fichier de recherche.
Le premier fonctionne bien, le second affiche à chaque activation un message d’erreur.
« Erreur de compilation, type défini par l’utilisateur non défini.
« Public DicCBx As Dictionary ».
Pourtant seul le second fichier fonctionne bien.

Quelle erreur ai-je commise lors de transfert de second vers le premier?

Merci d’avance pour votre aide.

Caroline51
 
Re : Alimentation d'un textbox

Bonsoir.
Voyez les deux lignes de commentaires tout en tête du module MDictionnArbo

Edit: D'aiileurs dans module de classe ComboBoxMembre, deux lignes en dessous de celle qui provoque l'erreur de compilation, vous avez :
' IMPORTANT : Dictionary est défini par scrrun.dll (bibliothèque Scripting, référence "Microsoft Scripting Runtime")
Ne manquez pas de me signaler toutes les améliorations de commentaires qui vous viendraient à l'esprit, susceptible de guider mieux le développeur d'application. Qu'est ce que je pourrais bien faire pour qu'on comprenne plus vite qu'il faut cocher cette référence parce que c'est dans la bibliothèque Scripting qu'est défini le type Dictionary ?

Edit 2: Bon je mettrai dorénavant :
' IMPORTANT : Dictionary est défini par la bibliothèque Scripting, référence "Microsoft Scripting Runtime" À COCHER !
 
Dernière édition:
Re : Alimentation d'un textbox

Bonsoir à tous et particulièrement à Dranreb

(Membre de ce forum actif qui m'a déjà aidé à plusieurs reprises. Merci à lui)

Encore un petit Couac dans ma procédure se trouvant dans mon userform, de la recherche de renseignements à partir d’une base de données.
Dans mon précèdent message j’expliquais que j’ai tenté d’associer deux fichiers. Un de saisie, l’autre de recherche. Les deux fichiers fonctionnaient bien séparément.
Je n’arrive pas à comprendre pourquoi, il peut avoir des interférences en associant deux fichiers.

Aujourd’hui ce qui ne dérange c’est le message d’erreur qui intervient lors du lancement de la procédure recherche :
Public Sub Plage(ByVal Plg As Range)
If Plg.Rows.Count = 1 Then Set Plg = PlgUti(Plg)
Set PlgTablo = Plg.EntireRow.Cells
End Sub

Erreur de compilation
Sub ou Fuction non définie

Pouvez-vous m’aider une nouvelle fois.
Je joins mon fichier

Merci d’avance
Caroline51
 

Pièces jointes

Re : Alimentation d'un textbox

Bonsoir.

Il manque cette petite fonction utilitaire PlgUti qui est utilisée pour cherche la partie utilisée d'une plage, c'est à dire celle qui s'étend jusqu'à la dernière cellule renseignée de plus qu'une chaîne vide. Y aurait il un moyen mnémonique plus utile pour se rappeler qu'elle se trouvait dans un module … Utilit ?…
VB:
Function PlgUti(ByVal PlageDép As Range, Optional ByVal PlagExam As Range = Nothing) As Range
Rem. Cherche la partie utilisée d'une plage, c'est à dire celle qui s'étend jusqu'à la dernière cellule renseignée de plus qu'une chaîne vide.
'    PlageDép: Plage de départ. Seule la 1ère cellule spécifiée est prise en compte pour la déterminer, et suffit donc pour une utilisation VBA.
'            Pour utilisation en formules, il est néanmoins nécessaire de spécifier la plage depuis celle ci jusqu'au reste des colonnes entières.
'    PlageExam: Plus grande plage susceptible de contenir la plage cherchée.
'            Facultatif: UsedRange assumé par défaut.
Dim LMax As Long, CMax As Long, NbL As Long, NbC As Long
On Error GoTo RienTrouvé
If PlagExam Is Nothing Then Set PlagExam = PlageDép.Worksheet.UsedRange
LMax = PlagExam.Find("*", PlagExam.Cells(1, 1), xlValues, xlWhole, xlByRows, xlPrevious).Row
CMax = PlagExam.Find("*", PlagExam.Cells(1, 1), xlValues, xlWhole, xlByColumns, xlPrevious).Column
On Error GoTo 0
NbL = LMax - PlageDép.Row + 1: If NbL < 1 Then GoTo CEstToutVide
NbC = CMax - PlageDép.Column + 1: If NbC < 1 Then GoTo CEstToutVide
Set PlgUti = PlageDép.Resize(NbL, NbC)
Exit Function
RienTrouvé: Resume CEstToutVide
CEstToutVide: Set PlgUti = Nothing
End Function
 
Re : Alimentation d'un textbox

Bonjour à tous, et particulièrement à Dranreb

🙄
Merci de nouveau à Dranreb pour son aide toujours efficace.
J’ai mis en placer la procédure proposée ce qui m’a permis d’avancer.
Cependant, Je rencontre de nouveau un problème. J’essaye de le résoudre avant de redonner un coup de main afin de ne pas abuser du temps que de Dranreb consacré pour venir en aide aux novices comme moi.

Bonne soirée
Caroline51
 
Re : Alimentation d'un textbox

Bonjour, et particulièrement à Dranreb

Encore moi qui cherche et qui ne trouve pas la solution adapté à mon problème

- Suite à la ma demande du 16/02/2015, vous n’avez donné la procédure. Aussitôt, Je l’ai mise en place. Bravo parfait et encore MERCI
- Mais malheureusement pour moi, un autre souci est venu contrarier l’avancement de mon projet
Pour la ligne Private TIdx As TableIndex, j’ai un message d’erreur qui apparait
Erreur de compilation
Type défini par l’utilisateur non défini.
Après bien des essais, je ne suis pas parvenu à résoudre ce dysfonctionnement.
Alors de nouveau pouvez-vous me venir de nouveau en aide.

- Mais plusieurs questions me titillent l'esprit
1°) Je n’arrive pas à comprendre pourquoi deux Userform qui fonctionnent bien seuls, en les associant c’est la
2°) Dans votre procédure
Private Sub UserForm_Initialize()
Set CL = New ComboBoxLiés
CL.Plage Feuil2.Rows(2) (Pourquoi feuil2 et non pas BD-eleve ?) . Feuille qui sert de base de données
CL.Add Me.ComboBox1, "A"
Etc…
End Sub

Je joins de nouveau mon fichier

Merci d'avance
Caroline51
 

Pièces jointes

Re : Alimentation d'un textbox

Boujour.

Il y a un "1" qui est venu se mettre derrière le nom du module de classe "TableIndex". Il faut l'enlever car le nom des modules de classe constituent les types de données qui définissent.

Dans votre projet VBA, "Feuil2" est le nom de l'objet Worksheet qui représente la feuille Excel "BD_ELEVE".
Mais vous auriez tout intérêt à le renommer en FBdD. C'est sa toute première propriété dans la fenêtre de propriétés.
 
Re : Alimentation d'un textbox

Bonsoir à tous le membre de ce forum,

Pour mon projet, j'ai créé deux userforms,

Celui qui me pose problème ce soir est celui nommé élève, 1ère page ,
Dans ce dernier j'ai plusieurs ComboBox, parmi eux le ComboBox_regime, ComboBox_resp ; qui vont rechercher des informations à la page « Liste »
Lors de leur utilisation, pour le ComboBox_regime, au lieu de m’indiquer interne, pensionnaire, ce dernier me renseigne les noms des PP,
Lors de leur utilisation, pour le ComboBox_resp, au lieu de m’indiquer Famille, tutueur etc, ce dernier me renseigne les différents type de régime.

Je n’arrive pas à savoir pourquoi ?

Pouvez-vous une nouvelle fois me venir en aide.

Merci d’avance

Je joins mon fichier

Caroline51
 

Pièces jointes

Re : Alimentation d'un textbox

Bonsoir.
C'est normal : ComboBox_regime est alimenté par la plage nommée "Régime" or sa référence est :
Code:
=DECALER(Listes!$C$2;;;NBVAL(Listes!$C:$C)-1)
Et ComboBox_resp.List = Range("Responsable").Value. Référence :
Code:
=DECALER(Listes!$D$2;;;NBVAL(Listes!$D:$D)-1)
,
 
- 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

  • Question Question
XL 2016 Catalogue
Réponses
5
Affichages
2 K
Retour