Un seul Userform Monthview pour remplir plusieurs Textbox

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.
 

Si...

XLDnaute Barbatruc
Re : Un seul Userform Monthview pour remplir plusieurs Textbox

salut

MonthView est un développement de DTPicker. Pourquoi ne pas utiliser ce dernier ?
Sinon, voir l'exemple ci-joint.
 

Pièces jointes

  • DTPicker MonthView.xlsm
    31 KB · Affichages: 118
Dernière édition:

Supafred

XLDnaute Nouveau
Re : Un seul Userform Monthview pour remplir plusieurs Textbox

C'est bon, j'ai réussi :eek:

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.
 

Dranreb

XLDnaute Barbatruc
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:

Si...

XLDnaute Barbatruc
Re : Un seul Userform Monthview pour remplir plusieurs Textbox

salut

avec autant de cas, un module de k peut être avantageux.
Dans l'exemple joint, je continue à ne pas passer par une valriable déclarée en Public dans un Module Standard.
 

Pièces jointes

  • Module de Classe et MonthView.xlsm
    25.7 KB · Affichages: 68

Dranreb

XLDnaute Barbatruc
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

  • CalendSi….xlsm
    49.5 KB · Affichages: 88

Si...

XLDnaute Barbatruc
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

  • Calendrier Si….xlsm
    30.2 KB · Affichages: 115

Discussions similaires

Réponses
10
Affichages
534
Réponses
1
Affichages
311

Statistiques des forums

Discussions
311 725
Messages
2 081 947
Membres
101 849
dernier inscrit
florentMIG