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

OpenOffice & LibreOffice Discussion :

format de date personnalisé


Sujet :

OpenOffice & LibreOffice

  1. #1
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut format de date personnalisé
    Bonjour à tous,

    Je sèche. Je n'ai trouvé de réponse nulle part.

    Lors de la saisie est inséré en début d'un courrier la ville ainsi que la date au format "J MMMM AAAA", soit pour un début de mois : "1 juillet 2015".

    Est-il possible de créer un format personnalisé conditionnel qui afficherait automatiquement "1er juillet 2015" pour le premier jour, et uniquement le numéro du jour pour les autres jours ? Une solution est de modifier le format à la volée, mais ce n'est pas terrible.

    Merci d'avance.

    Sincèrement.

  2. #2
    Membre actif

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2011
    Messages
    370
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2011
    Messages : 370
    Points : 251
    Points
    251
    Par défaut
    Bonjour,

    Essaye de bidouiller quelque chose avec ça:

    Le code insère une date, comme tu le souhaites à l'endroit ou le curseur se trouve:

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    Sub Main
    'crée une boite de dialogue pour demander la date
    'Attention, la boite de dialogue est aussi à créer en cliquant droit dans l'onglet en bas de l'éditeur de macro sur "module", puis "Insérer" et "Boite de dialogue BASIC".
    'il faut ensuite ajouter les éléments suivant (bouton * 2, 1  champ date)
    'Dans le bouton "OK", il faut aller dans propriété et aller à la ligne "Type de bouton" pour sélectionner "OK". Si vous ne le faite pas, le bouton sera inerte.
    'Dans le bouton "Annuler", il faut aller dans propriété et aller à la ligne "Type de bouton" pour sélectionner "Annuler". Si vous ne le faite pas, le bouton sera inerte.
    'Dans le champ date, il faut aller dans propriété et aller à la ligne "Vérification du format" et "Sélectionner "OUI". Dans la ligne "Format date", mettre ce que vous voullez.
     
    Dim Dlg As Object, bibli As Object, monDialogue As Object, InputDate as string, Car as string
    BasicLibraries.LoadLibrary("Standard")               'Chargement des bibliothèques
    DialogLibraries.LoadLibrary("Standard")
    bibli = DialogLibraries.GetByName("Standard")         
    monDialogue = bibli.GetByName("Dialog1")            'Accès au dialogue
    Dlg  = CreateUnoDialog(monDialogue)                 'Exécution du dialogue
       ' -- Bouton OK
       Dlg.getControl("CommandButton1").Label ="OK"
       Dlg.getControl("CommandButton1").Model.Align = 1
       ' -- Bouton Annuler
       Dlg.getControl("CommandButton2").Label ="Annuler"
       Dlg.getControl("CommandButton2").Model.Align = 1
       ' -- Boite
       Dlg.setTitle("Date ?")
     
    'Lance l'exécution de la boite de dialogue   
    Dlg.execute
    InputDate = format(Dlg.getControl("DateField1").text, "d MMMM yyyy")         'Récupère la date saisie et le met au format désiré
    Car = Mid(InputDate, 1, 2)
    if Car = "1 " then
    	Car = ""
    	Mid(InputDate, 1, 2) = Car
    	Car = "1er "
    	InputDate = Car & InputDate
    end	if
    Write_Cursor_Position (InputDate)
     
    End Sub
     
     
    '--------------------------
    ' La procedure "Write_Cursor_Position" est inspiree de from: http://www.oooforum.org/forum/viewtopic.phtml?t=75409
    ' Coller du texte dans Writer a la position du curseur
    Sub Write_Cursor_Position (sText as String)
    Dim oViewCursor as object
    dim oText As Object
      oViewCursor= thiscomponent.GetCurrentController.ViewCursor
     
      If IsEmpty(oViewCursor.Cell) Then
        oText=thiscomponent.text
      Else
        oText=oViewCursor.Cell.Text
      End If
     
      oText.insertString(oViewCursor, sText,false)
     
    end Sub
    Cordialement,
    Vandman

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Bonjour,

    Désolé pour cette connexion tardive, mais la période actuelle est aux migrations.

    Merci pour ta réponse, mais je cherchais un truc plus simple, dans le style : SI(J=1;J"er" MMMM AAAA;J MMMM
    AAAA).

    cordialement.

  4. #4
    Membre actif

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2011
    Messages
    370
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2011
    Messages : 370
    Points : 251
    Points
    251
    Par défaut
    Bonjour,

    C'est ça que tu cherches?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(JOUR(B2)=1;CONCATENER("1er ";TEXTE(B2;"MMMM AAAA"));TEXTE(B2;"J MMMM AAAA"))
    B2 étant la date à mettre en forme.

    Si ce n'est pas ça, peux-tu mettre un exemple des fichiers que tu utilises?

    PS: pour plus d'explication sur les formats date, voir le lien suivant

    Cordialement,

    Vandman

Discussions similaires

  1. [AC-2003] Requête qui traite un format de date personnalisé
    Par ostrich95 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 12/03/2014, 16h43
  2. Excel format date personnalisé
    Par Chewi dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 20/11/2006, 14h37
  3. Réponses: 11
    Dernier message: 02/09/2003, 14h20
  4. Problème de Format de date
    Par titititi007 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/06/2003, 08h19
  5. Réponses: 3
    Dernier message: 06/05/2002, 18h24

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