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

Word Discussion :

Calcul automatique sur un champ date


Sujet :

Word

  1. #1
    Membre habitué
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Janvier 2007
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2007
    Messages : 255
    Points : 164
    Points
    164
    Par défaut Calcul automatique sur un champ date
    Bonjour

    Dans un document Word, j'ai un propriété avec la date de mise à jour du document.

    Je voudrais ajouter dans mon document Word, un champ calculé automatiquement prenant en compte cette date et en y ajoutant 6 mois.

    D'avance merci pour votre aide

    A+

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    La gestion des dates calculées au départ de champ en Word est très compliquée.

    il faut mettre des conditions sur tous les éléments de la date, jour, mois et année.

    Le plus simple est de passer par du VBA avec une fonction comme DateAdd()
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  3. #3
    Membre habitué
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Janvier 2007
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2007
    Messages : 255
    Points : 164
    Points
    164
    Par défaut
    Bonjour

    Merci pour ce retour. J'ai essayé mais je ne comprend pas comment faire en sorte que le champ soit mis à jour.

    J'ai créé 2 propriétés :
    Madate : Date de référence
    NewDate : Date que je souhaite voir calculer.

    Puis j'ai créé cette procédure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    Sub MiseAJourDate()
        Ldate = ActiveDocument.CustomDocumentProperties("MaDate").Value
     
        Lnew_date = DateAdd("m", 6, Ldate)
     
        ActiveDocument.CustomDocumentProperties("NewDate").Value = Lnew_date
    End Sub
    Malheureusement, la mise à jour de ma propriété NewDate n'est pas effectuée.

    Quelle manip me manque t'il ?

    Merci pour votre retour

  4. #4
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    tu travailles avec les propriétés du document ?
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  5. #5
    Membre habitué
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Janvier 2007
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2007
    Messages : 255
    Points : 164
    Points
    164
    Par défaut
    Oui c'est la seule chose que je sache faire mais s'il y a mieux, plus simple, je suis preneur.

    Mais j'ai besoin des bons pointeurs pour comprendre comment mettre concrètement en oeuvre.

    Je suis en train de regarder comment faire pour mettre à jour les infos juste avant la sauvegarde mais j'avoue ne rien comprendre dans les classes d'objet et leur instanciation.

    A+

  6. #6
    Membre habitué
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Janvier 2007
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2007
    Messages : 255
    Points : 164
    Points
    164
    Par défaut
    Bonjour

    J'ai un zest avancé dans la compréhension des événements sous word et j'en suis arrivé au 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
     
     
    Public WithEvents MonApp As Word.Application
     
    Private Sub Document_Open()
        Set MonApp = Word.Application
    End Sub
     
    Private Sub MonApp_DocumentBeforeSave(ByVal Doc As Document, SaveAsUI As Boolean, Cancel As Boolean)
        'MsgBox "BeforeSave"
        Ldate = ActiveDocument.CustomDocumentProperties("MaDate").Value ' C'est une propriété qui contient la date de validation du doc
     
        Lnew_date = DateAdd("m", 6, Ldate) ' On ajoute 6 mois
     
        ActiveDocument.CustomDocumentProperties("NewDate").Value = Lnew_date 'C'est la date de fin de validitée calculée
    End Sub
    Que j'ai positionné dans "This Document"

    Cela fonctionne correctement pour la mise à jour de la propriété avant la sauvegarde, par contre, si j'inclus cette propriété dans mon document, elle est pas mise à jour.

    A l'inverse, si je fais CTRL + A puis F9, les propriétés sont mise à jour dans le doc mais la valeur n'est pas recalculée.

    Donc, ma question résiduelle est : Est il possible de "capturer" l'événement de mise à jour du document pour lancer ma macro?
    (PS: Si vous voyez une solution plus simple, plus dans l'esprit de word, je suis preneur)

    D'avance merci

  7. #7
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,


    On peut faire la mise à jour via le code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveDocument.Fields.Update
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  8. #8
    Membre habitué
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Janvier 2007
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2007
    Messages : 255
    Points : 164
    Points
    164
    Par défaut
    Bonjour

    Ceci répond que partiellement à ma problématique.

    Car pour mettre à jour, il faut avoir un événement qui lance cette mise à jour.

    Ne connaissant pas toutes les arcanes de Word, y'a t'il y événement qui me permet de savoir que mon doc est en cours de mise à jour (F9) ?

    D'avance merci

  9. #9
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,
    Il n'y a pas beaucoup d'évènements document qui seraient utilisables.
    Là tout de suite, je ne vois rien.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

Discussions similaires

  1. Champs calculé automatiquement sur Access
    Par INESBERR dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 14/06/2012, 10h31
  2. Date automatique sur un champ
    Par gsacre dans le forum Access
    Réponses: 8
    Dernier message: 28/10/2011, 16h17
  3. Calcul de moyenne sur des champs Date
    Par schwinny dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 28/05/2008, 12h57
  4. Réponses: 5
    Dernier message: 06/07/2007, 18h59
  5. [CR] Problème de sélection sur un champ date
    Par noluc dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 21/11/2003, 16h56

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