Un seul Userform Monthview pour remplir plusieurs 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 !

Supafred

XLDnaute Nouveau
Bonjour à tous,

J'ai créé un USF où j'ai plusieurs Textbox à remplir avec des dates. J'ai donc créé un USF avec un contrôle Monthview.

Le problème est que je n'arrive pas à renseigner individuellement chaque Textbox (La même date se met dans chaque Textbox).

Pour pallier ce problème, j'ai créé autant de USF Monthview que de Textbox à remplir. Mais cette solution ne me convient pas vraiment puisque je vais avoir une quarantaine de Textbox à remplir...

Si vous avez une piste, merci d'avance.
 
Re : Un seul Userform Monthview pour remplir plusieurs Textbox

C'est bon, j'ai réussi 😱

1) Déclaration de variables publiques dans un module

HTML:
Option Explicit

Public Date1 As Integer, Date2 As Integer, Date3 As Integer, Date4 As Integer, Date5 As Integer, Date6 As Integer, Date7 As Integer, Date8 As Integer, Date9 As Integer, Date10 As Integer

2) Dans l'USF avec les Textbox à remplir

HTML:
Private Sub CommandButton1_Click()

Date1 = "1"
Date2 = "0"
Date3 = "0"
Date4 = "0"
Date5 = "0"
Date6 = "0"
Date7 = "0"
Date8 = "0"
Date9 = "0"
Date10 = "0"

UserForm3.Show


End Sub

Private Sub CommandButton2_Click()

Date1 = "0"
Date2 = "1"
Date3 = "0"
Date4 = "0"
Date5 = "0"
Date6 = "0"
Date7 = "0"
Date8 = "0"
Date9 = "0"
Date10 = "0"

UserForm3.Show

End Sub

Private Sub CommandButton3_Click()

Date1 = "0"
Date2 = "0"
Date3 = "1"
Date4 = "0"
Date5 = "0"
Date6 = "0"
Date7 = "0"
Date8 = "0"
Date9 = "0"
Date10 = "0"

UserForm3.Show

End Sub

3) Dans l'USF Monthview

HTML:
Private Sub MonthView1_DateClick(ByVal DateClicked As Date)

If Date1 = 1 Then
UserForm1.TextBox2.Value = DateClicked
    ElseIf Date2 = 1 Then
    UserForm1.TextBox3.Value = DateClicked
        ElseIf Date3 = 1 Then
        UserForm1.TextBox5.Value = DateClicked
            ElseIf Date4 = 1 Then
            UserForm1.TextBox6.Value = DateClicked
                ElseIf Date5 = 1 Then
                UserForm1.TextBox8.Value = DateClicked
                    ElseIf Date6 = 1 Then
                    UserForm1.TextBox6.Value = DateClicked
                        ElseIf Date7 = 1 Then
                        UserForm1.TextBox11.Value = DateClicked
                            ElseIf Date8 = 1 Then
                            UserForm1.TextBox12.Value = DateClicked
                                ElseIf Date9 = 1 Then
                                UserForm1.TextBox14.Value = DateClicked
                                    ElseIf Date10 = 1 Then
                                    UserForm1.TextBox15.Value = DateClicked
End If

End Sub

Je pense que le code peut encore être amélioré mais ça fonctionne.
 
Re : Un seul Userform Monthview pour remplir plusieurs Textbox

Pourquoi ne transmettriez vous pas plutôt votre TextBox à une méthode écrite dans votre UFm monthview ?
(Par définition, un méthode est une Public Sub écrite dans un module non standard.
dans le même esprit, une variable Public dans un module non standard est une propriété.)
 
Dernière édition:
Re : Un seul Userform Monthview pour remplir plusieurs Textbox

Bonjour Si…
Je ne vois pas de déclaration Public K dans ton UserForm. Est ce un oubli ? Ça marche quand même ?
Je ne peux pas voir parce que que moi j'ai tout d'abord "Impossible de charger le objet car il n'est pas disponible sur cette machine.".
Je n'ai en effet en Excel 2016 plus aucun contrôle Calendar ni DTPicker. Et je sais que je ne suis pas le seul dans ce cas.
Et je ne doute pas que le demandeur soit un jour ou l'autre confronté au même problème.
Mais pas grave, je les trouvais moches de toute façon.
Alors je me suis créé, comme bien d'autres, mon propre UFmCalend, équipé de toutes facilités d'utilisation.
Il se greffe sans problème sur une utilisation de TextBox via un module de classe.
 

Pièces jointes

Re : Un seul Userform Monthview pour remplir plusieurs Textbox

Salut Dranreb,

Tout d’abord j’ai répondu mais en sachant que seuls ceux ont accès à ce contrôle pourront voir l’exemple.
Avec ma version 2010, je n’ai pas la possibilité de charger donc d’utiliser le Calendar.J’ai moi-même créé un calendrier personnel que je propose ici ou là pour surmonter ces déficiences.

Pour en revenir à mon exemple, il m’arrive de passer par une variable de type Public dans un Module standard mais étourdi, je peux oublier ou effacer sa déclaration.
Comme j’ai l’habitude d’écrire les codes dans les pages qui les concernent, j’ai choisi ici l’option d’ajouter un Label (réduis à sa plus simle exxpression) et nommé K pour stocker le numéro du cas.
Voilà ce que cela peut donner.
 

Pièces jointes

- 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

Retour