Comment interfacer mes usf avec ma plage de donnéés

zombe a écrit :

Etant donné que je ne souhaite pas trop charger mes usf, à partir du combobox7 (de la 2è page), je souhaite que le 2è usf soit appelé. Pouvez-vous en tenir compte?

Il serait plus simple d'ajouter une page sur le Multipage plutôt qu'un autre UF

Clic drroit sur Data ou Complément et ajouter une page. Ensuite coller les contrôles de l'autre UF sur cette page.

zombe a écrit :

J’apprécie bcp votre fonction "ctl.tag".

Il n’est pas long mais très puissant.

Je souhaite comprendre son mécanisme pour mieux m’en servir dans mes autres usf.

Quand j'ajoute ou réduit des controles comment faire pour l'adapter?

La propiété Tag -> Dans le fenêtre des propriétés là où tu met les textes des contrôles, tu change la couleur, etc..

Dans le bas de cette fenêtre il y a ->> Tag, c'est là que tu doit remplir avec ??

Beh oui, avec quoi ?

Exemple avec le TexBox à côté de Nom et Prénom (c'est le TextBox64)

Regarde sur la feuille "DONNE" sur quel ligne va cette données..... tu trouve ? ....beh oui, c'est 12

et c'est ce que tu dois mettre dans le Tag. et c'est tout c'est déjà un qui fonctionnera

Idem pour les ComboBox

Pour les contrôles qui sont dans le même cadre c'est le même N° de ligne pour tout ceux du même cadre.

Y a un truc qui colle pas, tu met deux texteBox pour Nombre d'enfant Mineur/Majeur mais dur la feuille DONNE tu n'a qu'une seule ligne pour les deux. Il faut donc Soit ajouter un ligne dans la feuille, soit supprimer un textbox.

Si tu ajoute une ligne oublie pas d'adapter les N° de ligne dans le Tag des autres contrôles.

zombe a écrit :

N.B:J'ai convenu avec le utilisateurs de l'outil que je suis entrain de créer que les date seront saisies manuellement pour ne pas trop abuser de votre patience et tous le monde est d'accord (donc c'est bon pour le DTPicker1).

Pour le DTPicker1 s'il n'est pas présent sur la boite à outils tu dois l'ajouté.

  • Clic droit sur un endroit libre de la boite à outils
  • Contrôles supplémentaires
  • Dans la fenêtre cocher ->> Microsoft Date and Time Picker

Et tu le positionne sur l'UF comme un autre contrôle.

Salut Lermite

J'ai enfin compris. que serais-je sans toi?

lermite a écrit :

Il serait plus simple d'ajouter une page sur le Multipage plutôt qu'un autre UF

Si y'a pas d'inconvenientmajeur, j'apprécie passer par ma méthode (appeler le 2è usf).

J'ai pu le faire et avec les test réalisés, ca marche.

Avez-vous des objections sur ca?

zombe a écrit :

Dans la fenêtre cocher ->> Microsoft Date and Time Picker

Sur mon pc portable (Windows seven) Je ne retrouve pas le DTPicker.

zombe a écrit :

Y a un truc qui colle pas, tu met deux texteBox pour Nombre d'enfant Mineur/Majeur mais dur la feuille DONNE tu n'a qu'une seule ligne pour les deux. Il faut donc Soit ajouter un ligne dans la feuille, soit supprimer un textbox.

C'est vrai je vais l'adapter a dans ma plage

Un truc que je comprend pas : je saisie en majuscule dans mes textbox mais dans ma plage je trouve des minuscules.

unn dernier coup de main sans abuser de ta patience svp?

Un grand merci à toi pour ta disponibilité

Si y'a pas d'inconvenientmajeur, j'apprécie passer par ma méthode (appeler le 2è usf).

J'ai pu le faire et avec les test réalisés, ca marche.

Bon courage pour incorporer les données dans la feuille.

Pour le DtPickers ? normalement tu devrais l'avoir.

Salut Lermite

Une dernière question.

Il s'agit du fonctionnement des checbox.

Je n'arrive pas à définir les tag sinon j'ai tout reussi sauf à ce niveau.

Quand je defini les tag des checbox, lors de mes tests, je me rend compte qu'un seul élément du cadre se repète plusieurs fois.

Ex: dans un cadran j'ai les élements vts : CNI, PASSEPRT, FACTURE. Dans la cellule ou doit s'afficher la valeur des chexbox, je vois ceci: Facture, Facture, Facture, Facture, Facture, Facture.

Comme je l'ai dis, j'ai tout reussi suivant vos instructions mais pour les checbox....

Je ne comprend pas cette partie du code :

Fr5 = Fr5 + IIf(Fr5 = "", Ctl.Caption, ", " & Fr5)
                     Lig = Ctl.Tag
                    .Cells(Lig, Col).Value = Fr5

peut-être que c'est la cause de mon soucis.

Merci de m'aider.

Grand merci à toi

Théoriquement ça ajoute le texte du contrôle (checkbox) séparer par des virgules.

Mais il faudrait plus d'explication pour pouvoir te répondre.

Poste ton classeur.

A+

Salut Lermite

Merci pour feedback.

Ci-joint le fichier.

38zombe-checbox.xlsm (195.79 Ko)

Tu n'a aucune donnée dans les Tag des checkBox ?

Exemple : dans frame 5 tu à 4 checkBox le résultat doit être sur la ligne 9, tu dois mettre 9 dans le tag des 4 CheckBox

Pour le Frame 6 Idem mais je ne sais pas sur quel ligne tu veux.

'SAUVE TOUTES LES DONNEES
Private Sub BoutSauve_Click()
Dim Ctl As Control
Dim Col As Integer, Lig As Integer
Dim Fr5 As String, Fr6 As String
    Col = 2 'pour la colonne B
    'Boucle sur tout les contrôles de l'userform
    'If Not ControlerRemplir() Then Exit Sub
    With Sheets("DONNE")
        For Each Ctl In Me.Controls
            If TypeOf Ctl Is msforms.TextBox Then
                If Ctl.Tag <> "" And Ctl <> "" Then
                Lig = Ctl.Tag
                .Cells(Lig, Col).Value = Ctl.Text
                End If
            ElseIf TypeOf Ctl Is msforms.OptionButton Then
                If Ctl.Value Then
                    'l'OptionButton est checker
                    Lig = Ctl.Tag
                    .Cells(Lig, Col).Value = Ctl.Caption
                End If
            ElseIf TypeOf Ctl Is msforms.ComboBox Then
                Lig = Ctl.Tag
                .Cells(Lig, Col).Value = Ctl.Text
            ElseIf TypeOf Ctl Is msforms.CheckBox Then
                If Ctl.Value Then
                    Lig = Ctl.Tag
                    If Ctl.Tag = 9 Then
                        Fr5 = Fr5 + IIf(Fr5 = "", Ctl.Caption, ", " & Fr5)
                        .Cells(Lig, Col).Value = Fr5
                    Else
                        Fr6 = Fr6 + IIf(Fr6 = "", Ctl.Caption, ", " & Fr6)
                        .Cells(Lig, Col).Value = Fr6
                    End If
               End If
            End If
        Next Ctl
    End With
End Sub
'******************************************************************

Salut Lermite

Merci pour le code que vous venez d'actualiser.

Le resultat du frame6 est à loger dans B19.

Si j'ai bien compris est-ce que je dois faire pour le frame6:

Else
if ctl.tag =19 then
                        Fr6 = Fr6 + IIf(Fr6 = "", Ctl.Caption, ", " & Fr6)
                        .Cells(Lig, Col).Value = Fr6

Merci

Elseif ctl.tag =19 then
                        Fr6 = Fr6 + IIf(Fr6 = "", Ctl.Caption, ", " & Fr6)
                        .Cells(Lig, Col).Value = Fr6

et pas ajouter de End If

Et mettre 19 dansles tag de tout les checkBox du frame6

PS : Bien ça .. tu commence à comprendre.

Merci pour tout ton coaching qui porté fruit.

Vive le forum, vive Lermite

sans abuser de ta patience

Rechercher des sujets similaires à "comment interfacer mes usf plage donnees"