IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Introduction de date via userbox [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Retraite
    Inscrit en
    Août 2016
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraite

    Informations forums :
    Inscription : Août 2016
    Messages : 38
    Par défaut Introduction de date via userbox
    Bonjour a tous

    encore moi et toujours dans mon calendrier de gestion de chauffeur.

    via une user box j'aimerai introduire une série de dates qui vont déterminer un série de périodes
    certaine de ces périodes sont obligatoire et d'autre facultative
    j'ai utilisé DTpicker pour introduire ces dates, pour les obligatoire pas de problème j'ai mème formaté la zone de la date par rapports au moment présume de cette date .
    mon problème est pour les date facultative pour les quelles rien ne doit apparaitre dans la cellule destinataire si pas de date.
    si apres 3 capture ecran la zone dans la quelle s'enregistrera les dates, les 2 autres la userforme en mode conception et l'autre en mode user
    Nom : periode.JPG
Affichages : 157
Taille : 50,2 KoNom : periodeuserform1.JPG
Affichages : 169
Taille : 100,0 KoNom : periodeuserform2.JPG
Affichages : 282
Taille : 70,1 Ko

    les 3 periodes concernée sont les autres, 1 , 2 , 3
    qui elle sont facultative

    pour initialisé les autre et les copiers j'utilise le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
        Private Sub UserForm_Initialize()
        ' periodes examens
     
             Me.DebutExam1 = ActiveWorkbook.Sheets("decembre-1").Range("m11").Value
             Me.DebutExam2 = ActiveWorkbook.Sheets("juin").Range("m11").Value
             Me.DebutExam3 = ActiveWorkbook.Sheets("decembre").Range("m11").Value
             Me.Finexam1 = ActiveWorkbook.Sheets("decembre-1").Range("m11").Value
             Me.Finexam2 = ActiveWorkbook.Sheets("juin").Range("m11").Value
             Me.Finexam3 = ActiveWorkbook.Sheets("decembre").Range("m11").Value
     
        ' periodes Non Scolaire
     
        ' debut
            Me.debSco1 = ActiveWorkbook.Sheets("decembre-1").Range("m11").Value
            Me.debSco2 = ActiveWorkbook.Sheets("Fevrier").Range("m11").Value
            Me.debSco3 = ActiveWorkbook.Sheets("Planning").Range("c2").Value
            Me.debSco4 = ActiveWorkbook.Sheets("ferier").Range("a6").Value
            Me.debSco5 = ActiveWorkbook.Sheets("juillet").Range("m11").Value
            Me.debSco6 = ActiveWorkbook.Sheets("novembre").Range("m11").Value
            Me.debSco7 = ActiveWorkbook.Sheets("decembre").Range("m11").Value
            Me.debSco8 = Date
            Me.debSco9 = Date
            Me.debSco10 = Date
     
        'fin
            Me.FinSco1 = ActiveWorkbook.Sheets("janvier").Range("m11").Value
            Me.FinSco2 = ActiveWorkbook.Sheets("Fevrier").Range("m11").Value
            Me.FinSco3 = ActiveWorkbook.Sheets("Planning").Range("c2").Value
            Me.FinSco4 = ActiveWorkbook.Sheets("ferier").Range("a6").Value
            Me.FinSco5 = ActiveWorkbook.Sheets("Aout").Range("m11").Value
            Me.FinSco6 = ActiveWorkbook.Sheets("novembre").Range("m11").Value
            Me.FinSco7 = ActiveWorkbook.Sheets("janvier+1").Range("m11").Value
            Me.FinSco8 = Date
            Me.FinSco9 = Date
            Me.FinSco10 = Date
     
     
        End Sub
     
     
     
     
    Private Sub Valider_Click()
     
     Sheets("Planning").Select
      ActiveSheet.Unprotect "wappy"
     
     ' Periodes examens
     ' debut
     
     Range("c6") = DebutExam1.Value
     Range("c7") = DebutExam2.Value
     Range("c8") = DebutExam3.Value
     
     ' fin
     
     
     Range("d6") = Finexam1.Value
     Range("d7") = Finexam2.Value
     Range("d8") = Finexam3.Value
     
     ' periodes Non Scolaire
     
     ' debut
        Range("c12") = debSco1.Value
         Range("c13") = debSco2.Value
          Range("c14") = debSco3.Value
           Range("c15") = debSco4.Value
            Range("c16") = debSco5.Value
             Range("c17") = debSco6.Value
              Range("c18") = debSco7.Value
               Range("c19") = debSco8.Value
                Range("c20") = debSco9.Value
                 Range("c21") = debSco10.Value
     
        'fin
     
        Range("d12") = FinSco1.Value
          Range("d13") = FinSco2.Value
           Range("d14") = FinSco3.Value
            Range("d15") = FinSco4.Value
             Range("d16") = FinSco5.Value
              Range("d17") = FinSco6.Value
               Range("d18") = FinSco7.Value
                Range("d19") = FinSco8.Value
                 Range("d20") = FinSco9.Value
                  Range("d21") = FinSco10.Value
     
     
     
     
     
        Unload Me
     
      Sheets("Planning").Protect "wappy"
    j'aimerai donc pouvoir ne pas introduire de date dans la userform afin qu'il n'y ai bien sur pas de date dans les cellules correspondantes.

    je rappelle que les utilisateur de ce fichier sont nul ou très doué selon le cas en informatique la raison pour la quel je veux simplifier et fiabiliser l'introduction de dates dans le fichier


    merci d'avance

  2. #2
    Membre confirmé Avatar de francis60
    Homme Profil pro
    Modélisation coût/process
    Inscrit en
    Août 2011
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Modélisation coût/process
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2011
    Messages : 184
    Par défaut
    Bonjour wappymil,

    Une idée : utiliser la propriété Checkbox = TRUE pour rendre tes 6 derniers DTpicker optionnels

    Puis dans Valider_Click() ajoute un test pour savoir si chaque Checkbox est cochée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Test Then Range("c19") = debSco8.Value  ' je ne connais pas le bon test à faire sur ce champ
    Essaie de faire des traitements automatiques en utilisant des boucles.
    Tu peux aussi ajouter des Tags à tes Control et utiliser cette propriété personnalisée dans des tests, par exemple FinSco8.Tag ="OptionDate"

  3. #3
    Membre confirmé Avatar de francis60
    Homme Profil pro
    Modélisation coût/process
    Inscrit en
    Août 2011
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Modélisation coût/process
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2011
    Messages : 184
    Par défaut
    Voilà j'ai trouvé un test à faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub cmdOk_Click()
     
        If Not IsNull(Me.DTPicker1.Value) Then
     
            MsgBox Me.DTPicker1.Day
     
        Else
     
            MsgBox "case non cochée"
     
        End If
     
    End Sub
    A adapter

  4. #4
    Membre averti
    Homme Profil pro
    Retraite
    Inscrit en
    Août 2016
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraite

    Informations forums :
    Inscription : Août 2016
    Messages : 38
    Par défaut
    merci, mais je pense que je ne me suis pas bien exprimé, j'aimerai que les périodes "autre 1, 2 et 3 début et fin" reste vide si on en as pas le besoin
    j'avais pensé a la Checkbox = TRUE mais la encore, l'encodeur doit faire une action supplémentaire a l'encodage de la date c'est justement ce que je veux éviter
    il dois cocher ou décocher. j'amerai que sans action de sa part la date sois blanck par default

    mais merci tout de même

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Dates] Sélection d'une date via un calendrier
    Par fourniey dans le forum Langage
    Réponses: 6
    Dernier message: 14/02/2008, 00h01
  2. [MySQL] Gestion de dates via une requête
    Par gunth dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 13/11/2007, 10h28
  3. Formater une date via un timestamp UNIX et un modèle modifiable
    Par Aldéhir dans le forum Contribuez / Téléchargez Sources et Outils
    Réponses: 7
    Dernier message: 11/09/2007, 16h43
  4. Récup de la date via un .bat
    Par slyv dans le forum Windows XP
    Réponses: 4
    Dernier message: 08/04/2007, 18h02
  5. [Debutant]récupération d'une Date via calendrier en javascript
    Par chihiro_ba dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 08/12/2006, 09h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo