Calendrier date dans userform multipage

Bonjour,

j'ai besoin de votre aide
j'ai creer un user form multipages avec 2 pages une pour informations personnel l'autre pour informations administrative du personnel ces 2 pages contiennent plusieurs controls(textbox;combobox;DTPicker;label) pour entrer les informations dans un tableau base de données dans une feuil excel ; mais voilà lorsque je valide les données texts des 2 pages sont enregisrées dans les colonnes du tableau ;les données dates de la page affichée sont enregistrées mais ceux de la page cachée sont enregistrées sous la valeur zéro....
merci pour votre aide

9 réponses

  1. Re,

    En effet, ca marche, puisque vous ecrivez le numero de colonne de la cellule a ecrire dans le tag du controle et crtl a bien une valeur si le controle est rempli. Chez moi, ce matin pas moyen d'avoir le meme resultat, cette apres-midi pas de probleme avec un nouvel essai.

    une personne qui a pour pseudo Mohalesage ca vous dit quelque chose??????
    1. Re,

      pouvez-vous mettre votre fichier, sans donnees confidentielles, a dispo en cliquant sur le lien suivant https://www.cjoint.com/

      n'oubliez pas de copier/coller le lein cree

      mon formulaire marche bien c'est ce que le voudrai comprendre!!!
      1. excuser moi je suis débutant vba et je veux comprendre :
        mon formulaire marche bien et j'enregistre toutes les données avec un seul clic
        si tu peux corriger mon cde pour l'améliorer "ctr est vide comme dans le text si dessus "merci encore
        1. Re,

          pour moi, vous ne pouvez pas enregistrer de donnees avec ce code.

          ctrl est vide, et a supposer que chez vous il a une valeur autre que vide, vous ecrivez toujours la meme cellule sauf si vous cliquer x fois sur le bouton !!!!!!!
          1. merci
            feuil3 = "2"
            y a t il un moyen pour ne pas passer par les tags ?
            pour l'enregistrement des ça marche bien !
            j'ai corrigé pour enregistrer les dates et ça marche!
            voilà mon code complet :

            Private Sub CommandButton1_Click()

            Dim Ctrl As Control
            Dim r As Integer
            Dim t As Integer
            Dim derligne As Integer

            With Worksheets("2")
            derligne = .Range("A65536").End(xlUp).Row + 1
            For Each Ctrl In Me.Controls
            r = Val(Ctrl.Tag)
            If r > 0 And r <= 28 Then MultiPage1.Value = 0: Feuil3.Cells(derligne, r) = Ctrl
            If r > 28 And r <= 40 Then MultiPage1.Value = 1: Feuil3.Cells(derligne, r) = Ctrl
            If r > 40 Then MultiPage1.Value = 2: Feuil3.Cells(derligne, r) = Ctrl
            Next
            Feuil3.Cells(derligne, 1) = Val(TextBox1)
            End With
            TextBox1 = ""
            End

            End Sub

            Private Sub UserForm_Activate()
            If nouveau2 = True Then TextBox1 = WorksheetFunction.Max(Feuil3.Range("A3:A1000")) + 1

            End Sub

            merci pour ton aide
            1. Bonjour,

              Surprenant que vous puissiez enregistrer quelque chose avec ce code!!!!!!!

              Manque l'incrementation des cellules a ecrire, entre autres choses

              Question 1: pourquoi passer par les tags des controles ?????

              Question 2: worksheets("2") et feuil3, deux onglets differents ????

              A+
              1. Bonjour,
                voilà mon code et merci pour ton aide

                Private Sub CommandButton1_Click()

                Dim Ctrl As Control
                Dim r As Integer
                Dim t As Integer
                Dim derligne As Integer

                With Worksheets("2")
                derligne = .Range("A65536").End(xlUp).Row + 1
                For Each Ctrl In UserForm2.Controls
                r = Val(Ctrl.Tag)
                If r > 0 Then Feuil3.Cells(derligne, r) = Ctrl
                Next
                Feuil3.Cells(derligne, 1) = Val(TextBox1)
                End With
                TextBox1 = ""
                End

                End Sub