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 :

format de date avant impression via macro


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 65
    Par défaut format de date avant impression via macro
    Bonjour,

    Dans un classeur, j'ai mis 2 boutons :
    • le premier permet de générer une nouvelle feuille via ce 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
       
      Sub DupliquerModele()
      '
      ' DupliquerModele Macro
      '
       
      '
          Sheets("modèle").Select
          Sheets("modèle").Copy After:=Sheets("modèle")
          Sheets("modèle (2)").Select
          Sheets("modèle (2)").Range("C15").Value = Range("nbvendredi").Value
          Sheets("modèle (2)").Range("C16").Value = Range("nbdimanche").Value
          Sheets("modèle (2)").Name = Format(Range("mois_choisi").Value, "mmm yyyy")
          Range("D15").Select
      End Sub
    • Le deuxième permet de générer exactement la même feuille ET de l'imprimer, via ce code identique au précédent, à l'exception de la ligne ...PrintOut... :
      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
       
      Sub DupliquerEtImprimerModele()
      '
      ' DupliquerEtImprimerModele Macro
      '
       
      '
          Sheets("modèle").Select
          Sheets("modèle").Copy After:=Sheets("modèle")
          Sheets("modèle (2)").Select
          Sheets("modèle (2)").Range("C15").Value = Range("nbvendredi").Value
          Sheets("modèle (2)").Range("C16").Value = Range("nbdimanche").Value
          Sheets("modèle (2)").PrintOut From:=1, To:=2, Copies:=1, Collate:=True, IgnorePrintAreas:=False
          Sheets("modèle (2)").Name = Format(Range("mois_choisi").Value, "mmm yyyy")
          Sheets("Feuil1").Select
      End Sub


    Le problème est le suivant :
    • avec le premier bouton, une zone de texte qui contient =AUJOURDHUI (lien vers une cellule d'une autre feuille qui contient la formule =AUJOURDHUI()) s'affiche bien avec 01/03/2017, et la date imprimée est bien 01/03/2017
    • mais avec le deuxième, la date imprimée est 3/1/2017 (alors que je vois toujours 01/03/2017 à l'écran)


    il se produit donc visiblement quelque chose dans un cas et pas dans l'autre... mais quoi donc ?

    Merci pour toute aide,
    Zorino

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Ma première remarque ne concerne pas exactement ton problème mais je ne peux pas m'en empêcher : ton premier code pourrait être grandement simplifié et amélioré.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub DupliquerModele()
        Sheets("modèle").Copy After:=Sheets("modèle")
        ActiveSheet.Range("C15").Value = Range("nbvendredi").Value
        ActiveSheet.Range("C16").Value = Range("nbdimanche").Value
        ActiveSheet.Name = Format(Range("mois_choisi").Value, "mmm yyyy")
        Range("D15").Select
    End Sub
    avec le deuxième, la date imprimée est 3/1/2017 (alors que je vois toujours 01/03/2017 à l'écran)
    Dans quelle cellule se trouve cette date ?

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 65
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Ma première remarque ne concerne pas exactement ton problème mais je ne peux pas m'en empêcher : ton premier code pourrait être grandement simplifié et amélioré.
    Bah, tu l'as compris, c'est du code généré par l'assistant de création de macro, peu m'importe qu'il soit simple ou non, je ne m'en sers qu'une fois par mois... Mais merci quand même !

    Citation Envoyé par Menhir Voir le message
    Dans quelle cellule se trouve cette date ?
    La feuille qui s'imprime mal (alors qu'elle est OK à l'écran) :
    Nom : 2017-03-01_09-45-33.png
Affichages : 141
Taille : 14,0 Ko

    La cellule qui contient la date (dans une autre feuille) :
    Nom : 2017-03-01_11-12-07.png
Affichages : 158
Taille : 48,4 Ko

Discussions similaires

  1. [MySQL] Formater la date avant de la passer dans l'URL
    Par barale61 dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 07/04/2015, 16h39
  2. [9.0] Trigger pour formater des dates avant insertion
    Par Logarithmix dans le forum Requêtes
    Réponses: 1
    Dernier message: 13/05/2013, 14h22
  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. Requete SQL via macro vba changeant le format de la cellule
    Par laville dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 14/08/2007, 10h26
  5. Format d'impression via IE
    Par fabrice.Croize dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/03/2006, 09h50

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