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 :

Si aucune modification sur DatePicker then


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2008
    Messages : 106
    Par défaut Si aucune modification sur DatePicker then
    Et oui, encore moi

    Voilà mon prblème:

    J'ai un USF dans lequel se trouve plusieurs (3) date and time picker auquel je donne la valeur Now à l'initialisation.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    DTPDemande.Value = Now
    MultiPage1.Value = 3
    DTPSignChef.Value = Now
    DTPSignDir.Value = Now
    MultiPage1.Value = 0
    J'aimerais, lorsque je click sur mon bouton OK pour transférer mes données pouvoir dire "si le Date and Time picker n'a pas été modifié then DTP.value = 0" mais je n'arrive pas à trouver comment l'écrire...
    Présentement, lorsque je click sur OK, la date du jour s'inscrit automatiquement si le DTP n'a pas été modifié (ce qui est logique puisque c'est la valeur qui lui est attribuée).

    Est-ce possible de faire une action si le controle n'a pas été modifié?

    Merci!
    Geneviève

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    une proposition,
    tu dois comparer donc la valeur initiale avec la valeur finale
    le test se fera donc
    par exemple, un textbox invisible qui reprend la valeur initiale

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2008
    Messages : 106
    Par défaut
    Bonjour mercatog!

    J'ai testé rapido et ça ne fonctinone pas...
    J'ai créé un textbox invisible et j'ai mis dans USF initialize
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tbxCompare.Value = DTPDatePrevue.Value
    Mon problème est que la valeur ne reprend pas seulement la date, mais aussi l'heure... donc le temps que je complète le formulaire, l'heure à changé et donc si je compare le textbox et mon DTP les 2 valeurs sont différentes..

    J'ai tenté d'écrire ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Left(date1, 10) = Left(tbxCompare.Value, 10) Then
    feuilSuivi.Cells(derlig, 3).Value = 0
    Else
    feuilSuivi.Cells(derlig, 3).Value = date1
    End If
    Mais toujours aucun résultats...

    Mon code pour récupérer la date est probalement erroné... ce n'est que des tentative ce matin...

    Je vais fouiller un peu plus, mais si tu as une piste, elle sera la bienvenue

    Merci beaucoup et bonne journée!
    Geneviève

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DTPSignChef.Value = Date 'au lieu de Now
    et dans initialiseou bien tu peux passer par une variable publique

    ou bien simplement dans ton cas,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If datediff("d",date1,Date)=0 Then
      feuilSuivi.Cells(derlig, 3).Value = 0
    Else
      feuilSuivi.Cells(derlig, 3).Value = date1
    End If

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2008
    Messages : 106
    Par défaut
    Bonjour mercatog!

    Effectivement, c'est beaucoup mieux comme ça et ça fonctionne très bien!

    Voici donc mon code:
    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
    Private Sub UserForm_Initialize()
    DTPDemande.Value = Date
    MultiPage1.Value = 3
    DTPSignChef.Value = Date
    DTPSignDir.Value = Date
    MultiPage1.Value = 0
     
    tbxCompareChef.Value = Date  ' textbox invisible
    tbxCompareDir.Value = Date ' textbox invisible
    ...
    End sub
     
    Private Sub btOK_Click()
    If date2 <> tbxCompareChef.Value Then
      feuilSuivi.Cells(derlig, 16).Value = 0
    Else
      feuilSuivi.Cells(derlig, 16).Value = date2
    End If
    If date3 <> tbxCompareDir.Value Then
      feuilSuivi.Cells(derlig, 17).Value = 0
    Else
      feuilSuivi.Cells(derlig, 17).Value = date3
    End If
    ...
    End sub
    Merci beaucoup!
    Geneviève

  6. #6
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Regarde ceci (sans passer par le textbox invisible)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If datediff("d",date2,Date)<>0 Then
      feuilSuivi.Cells(derlig, 16).Value = 0
    Else
      feuilSuivi.Cells(derlig, 16).Value = Date
    End If

Discussions similaires

  1. Réponses: 1
    Dernier message: 05/05/2008, 16h43
  2. Faire des modifs sur une sheet excel Read Only via VBA
    Par beegees dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/11/2005, 18h02
  3. modification sur un sript
    Par guttts dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/08/2005, 10h45

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