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 :

Gestion des dates en vba [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 300
    Points : 106
    Points
    106
    Par défaut Gestion des dates en vba
    Bonsoir,

    En vba comment indiquer à l'utilisateur qu'il ne peut pas sortir de la date fin d'une période s'il dépasse la date du jour ou s'il est supérieur à 1 an par rapport à la date de début ?

    Par exemple date début de période

    01/01/2013
    Date de fin : 01/01/2014 pas de problème "1 an"

    01/01/2013 en début
    02/01/2014 en fin EXCEL envoie une boîte informant que l'on ne peut pas dépasser 1 an ou la date du jour, après avoir cliqué sur OK le curseur revient dans la cellule date fin en ayant supprimé celle ci ou mieux en inscrivant par défaut la date du jour obligeant ainsi l'utilisateur à remettre une date valide.

    Merci.

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 949
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 949
    Points : 28 950
    Points
    28 950
    Billets dans le blog
    53
    Par défaut
    Bonsoir,
    Pourquoi utiliser du code VBA quand l'outil Validation de données est créé pour cela.
    En supposant que la date de début de période est en colonne A, et la fin de période en colonne Bet que les lignes de données commence à la deuxième ligne.
    Sélectionner les cellules de la colonne B (par exemple B2:B20) et ensuite cliquer sur le commande Validation des données du groupe Outils de données de l'Onglet [Données]

    Dans la boîte de dialogue de l'outil Validation de données, sélectionner l'onglet [Options], choisir Date dans la liste Autoriser
    Sélectionner Inférieure ou égale à et placer cette formule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DATE(ANNEE(A2)+1;MOIS(A2);JOUR(A2))

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 300
    Points : 106
    Points
    106
    Par défaut
    Bonsoir Philippe,

    En effet ça fonctionne sauf que sur la date de fin Excel laisse passer la date du jour, j'ai tapé 19/01/2014 alors que nous sommes que le 18/01.
    En fait il faut deux conditions dans la règle de validation.

    merci et bonne soirée.

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 949
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 949
    Points : 28 950
    Points
    28 950
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Et quelle est cette seconde condition ?
    01/01/2013 en début
    02/01/2014 en fin EXCEL envoie une boîte informant que l'on ne peut pas dépasser 1 an ou la date du jour, après avoir cliqué sur OK le curseur revient dans la cellule date fin en ayant supprimé celle ci ou mieux en inscrivant par défaut la date du jour obligeant ainsi l'utilisateur à remettre une date valide.
    L'outil Validation de données peut gérer plusieurs conditions. S'il faut soit ne pas dépasser un an par rapport à la date du début de période soit accepter la date du jour, c'est faisable également.
    Dans cas là, il faut choisir Personnalisé au lieu de Date dans la liste Autoriser et la formule est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =OU(B2<=DATE(ANNEE(A2)+1;MOIS(A2);JOUR(A2));B2=AUJOURDHUI())

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 300
    Points : 106
    Points
    106
    Par défaut
    Merci beaucoup.

    @+
    Philippe.

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

Discussions similaires

  1. Gestion des dates en VBA/Excel ?
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 30/07/2012, 10h34
  2. [VBA-E] Gestion des dates selon format de départ
    Par Gamal le Celte dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 25/02/2007, 14h41
  3. [VBA] Gestion des dates nulles provenant d'un recordset
    Par wperezrobles dans le forum Access
    Réponses: 11
    Dernier message: 28/09/2006, 18h02
  4. Réponses: 3
    Dernier message: 13/08/2004, 18h52
  5. [MCD] [MCD] Gestion des dates
    Par brionne dans le forum Schéma
    Réponses: 3
    Dernier message: 30/05/2003, 13h01

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