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 :

Ouverture boite de dialogue à date échéance sur Excel [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2014
    Messages
    295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2014
    Messages : 295
    Points : 285
    Points
    285
    Par défaut Ouverture boite de dialogue à date échéance sur Excel
    Bonjour à tous : Dans un fichier Excel nommé DEVIS, j’ai créé une boite de dialogue d’information à l’ouverture du fichier concernant la modification du taux horaire. Je voudrais que dans l’objet ThisWorkbook ma boite de dialogue contienne une date modifiable, qui lorsque cette date est arrivée à échéance par le biais de la date système cette boite de dialogue s’affiche. De plus lorsque les personnes qui utilisent ce fichier si la date est arrivée à échéance, le fichier se ferme automatiquement sans enregistrement possible
    Le soucis mon fichier se ferme bien mais lorsque je l’ouvre à nouveau je ne peux pas accéder au code car il faut cliquer sur le bouton de ma boite de dialogue qui referme le fichier. Je n’ai pas trouvé le principe pour intégrer la date système et interdire l’affichage de la boite de dialogue avant la date d’échéance.
    De plus je dois pouvoir accéder au code vba pour modifier la date que je choisis par avance, le soucis il faut valider sur ok. Comment accéder au code sans valider sur ok
    J'ai volontarement désactivé le code ''Application.Quit afin d'éviter la fermeture du fichier
    Ps Je ne suis pas un expert un VBA

    http://cjoint.com/?0DvtUljEIAz

    Par avance merci pour votre aide.

  2. #2
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bonsoir,

    J'ai une proposition mais il faut que vous puissiez changer vous-même la constante à chaque changement du taux.

    A voir....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Workbook_Open()
    Const LaDate As Date = "02/01/2014"'ici à vous de surveiller
    If LaDate < Date Then
      MsgBox "Les taux horaires ont changé au " & LaDate & Chr(10) & Chr(10) & "Veillez contacter votre administrateur !" & Chr(10) & Chr(10) & "Cliquez su OK ou tapez sur la touche entrée pour fermer le fichier!", 16, "ATTENTION"
      Stop'ici un stop pour que vous puissiez contrôler, enlevez-le quand vous serez sur de vous
      Application.DisplayAlerts = False
      ThisWorkbook.Close
      Application.DisplayAlerts = True
      Application.Quit
    End If
    End Sub
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2014
    Messages
    295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2014
    Messages : 295
    Points : 285
    Points
    285
    Par défaut
    Bonsoir merci pour votre réponse rapide. Ceci répond en partie à ma question. Le soucis est que si je met une protection pour protéger le code je ne peux plus y accéder pour le modifier. Avez vous une solution?

  4. #4
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    ...Le soucis est que si je met une protection pour protéger le code je ne peux plus y accéder pour le modifier..
    Si c'est toi qui crées le code, pourquoi ne pourrais-tu pas modifier la macro par la suite, il faut simplement prévoir le coup, exemple :
    tu prévois ton mot de passe, ci-dessous "1234" dans l'inputBox
    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
    Private Sub Workbook_Open()
    Const LaDate As Date = "02/01/2014" 'ici à vous de surveiller
    Const MdpA As String = "1234"
    Dim MdP As String, DroitAdm As String
     
    If LaDate < Date Then
      DroitAdm = InputBox("La date est dépassée" & Chr(10) & "si vous êtes l'administrateur, entrez le mot de passe")
      If DroitAdm <> MdpA Then
        MsgBox "Les taux horaires ont changé au " & LaDate & Chr(10) & Chr(10) & "Veillez contacter votre administrateur !" & Chr(10) & Chr(10) & "Cliquez su OK ou tapez sur la touche entrée pour fermer le fichier!", 16, "ATTENTION"
        Stop 'ici un stop pour que vous puissiez contrôler, enlevez-le quand vous serez sur de vous
        Application.DisplayAlerts = False
        ThisWorkbook.Close
        Application.DisplayAlerts = True
        Application.Quit
      End If
    End If
    End Sub
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  5. #5
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2014
    Messages
    295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2014
    Messages : 295
    Points : 285
    Points
    285
    Par défaut
    Encore merci pour votre réponse utra rapide. c'est exactement ce que je cherchais. il était indispensable de bloquer l'accés aux macros afin d'éviter toute modification.

    C'est super sympa de se faire aider j'adore les macros mais je suis nul en anglais ce qui me pénalise.

    Encore merci pour votre aide @+

  6. #6
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Ravi pour toi, penses à cliquer sur
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/09/2010, 06h22
  2. Réponses: 14
    Dernier message: 13/05/2009, 16h49
  3. export date time sur excel convertit en heure
    Par acbdev dans le forum Excel
    Réponses: 2
    Dernier message: 01/02/2008, 11h41
  4. Ouverture boite de dialogue sur le bureau
    Par kgb1917 dans le forum Access
    Réponses: 4
    Dernier message: 13/09/2007, 13h45
  5. ouverture boite de dialogue selection fichiers
    Par Gmrinfo dans le forum VBScript
    Réponses: 5
    Dernier message: 17/02/2007, 19h49

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