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. 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
    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. 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. 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. 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,

              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. 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??????