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

Excel Discussion :

changer la langue d'une date


Sujet :

Excel

  1. #1
    Membre régulier
    Inscrit en
    janvier 2009
    Messages
    321
    Détails du profil
    Informations forums :
    Inscription : janvier 2009
    Messages : 321
    Points : 110
    Points
    110
    Par défaut changer la langue d'une date
    Bonjour la communauté,
    Je voudrais que la date Se trouvant en A12, A13.... et s'affichant sous le format jjjj jj et qui affiche par exemple vendredi 01 affiche Vrijdag 01 si le contrôle se trouvant an A1 est Vrai.
    En F3 j'ai le mois de référence.

    En A12 j'ai la formule
    comme base et puis j'ai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SIERREUR(SI(MOIS(A12+1)=MOIS($F$3);A12+1;"");"")
    a partir de A13.


    Comme code vba pour le changement de date j'ai :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub OptBtnNL_Click()
    If OptBtnNL Then
    Range("A2") = "Vervoerkosten"
    Range("A3") = "Maand"
    Range("A4") = "Naam en Voornamen"
    '...…..
    Range("A13") = Application.Text(A13, "[$-413]  jjjj jj")
     
    End If
    End Sub

  2. #2
    Membre émérite
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    juillet 2016
    Messages
    1 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : juillet 2016
    Messages : 1 499
    Points : 2 639
    Points
    2 639
    Par défaut
    Bonjour,

    Si j'ai bien compris, je suppose qu'il ne s'agit pas simplement de modifier les paramètres linguistiques d'excel et de sélectionner le néerlandais comme langue d'utilisation courante, mais plutôt d'une conversion à la demande (si la cellule A1 est vrai).
    Si c'est bien le cas, la formule en A12 serait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(TEXTE(FIN.MOIS(F3;1)+1;"JJJJ jj")="Lundi 01";"maandag 01";SI(TEXTE(FIN.MOIS(F3;1)+1;"JJJJ jj")="mardi 01";"dinstag 01";SI(TEXTE(FIN.MOIS(F3;1)+1;"JJJJ jj")="mercredi 01";"woensdag 01";SI(TEXTE(FIN.MOIS(F3;1)+1;"JJJJ jj")="jeudi 01";"donderdag 01";SI(TEXTE(FIN.MOIS(F3;1)+1;"JJJJ jj")="vendredi 01";"vrijdag 01";SI(TEXTE(FIN.MOIS(F3;1)+1;"JJJJ")="samedi 01";"zaterdag 01";SI(TEXTE(FIN.MOIS(F3;1)+1;"JJJJ jj")="dimanche 01";"zontag 01";"")))))))
    Appliquez le même principe pour les autres cellules.

    Cdlt

  3. #3
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    avril 2016
    Messages
    7 565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : avril 2016
    Messages : 7 565
    Points : 12 741
    Points
    12 741
    Par défaut
    Bonjour
    J'utiliserais personnellement une feuille (nommons-la par exemple ALLEMAND). Une feuille ad hoc ou une plage de cellule de la feuille en cours (au choix).
    J'y mettrais dans l'ordre, de la cellule A1 à la cellule A7, mes noms allemands de jours

    supposons maintenant que la cellule C8 contienne une date valide et que la cellule C9 contienne cette formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =JOUR(C8) & " " & INDIRECT("ALLEMAND!A"&JOURSEM(C8))
    C9 affichera ta date transformée comme tu l'entends
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  4. #4
    Responsable
    Office & Excel

    Avatar de Pierre Fauconnier
    Homme Profil pro
    Formateur et développeur informatique indépendant
    Inscrit en
    novembre 2003
    Messages
    14 680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur informatique indépendant
    Secteur : Enseignement

    Informations forums :
    Inscription : novembre 2003
    Messages : 14 680
    Points : 40 408
    Points
    40 408
    Billets dans le blog
    58
    Par défaut
    Salut.

    Excel permet l'utilisation des formats internationaux, sans qu'il soit besoin d'une table de conversion pour les noms des jours ou des mois...

    Pour le néerlandais repris dans ta question initiale, c'est le code 813, à utiliser en préfixe du format date => par exemple [$-813]jjjj jj-mm-aa. Si tu dois transformer en plusieurs langage, la table des langages doit simplement contenir le code utilisé. Tu peux utiliser cela dans la fonction TEXTE, par exemple, puisque cette fonction permet l'utilisation de ce que tu peux mettre dans la boite de dialogue des formats personnalisés. Voici une illustration d'un format qui reprend le nom du jour et le nom du mois...

    Nom : 2019-08-14_102658.png
Affichages : 54
Taille : 21,6 Ko


    Nom : 2019-08-14_144029.png
Affichages : 51
Taille : 4,3 Ko


    Après saisie dans la boite de dialogue du format personnalisé, ce code est converti en [$-nl-BE]....

    La table des codes numériques internationaux se trouve ici. La table des codes littéraux est ici.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Une fois pour toutes, je donne mon avis. Je ne vais pas le répéter à chaque message...
    Si je propose une solution générique sur votre solution spécifique, c'est parce que, fainéant de nature, je privilégie le réutilisable...
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Vous souhaitez rédiger pour DVP? Contactez-moi
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  5. #5
    Membre régulier
    Inscrit en
    janvier 2009
    Messages
    321
    Détails du profil
    Informations forums :
    Inscription : janvier 2009
    Messages : 321
    Points : 110
    Points
    110
    Par défaut
    Merci à tous pour vos réponses.

    Mais un problème subsiste.
    La langue de la date est subordonnée à la valeur d'un bouton d'option.

    Si Opt btn est vrai alors jjjj jj sinon [$-813]jjjj jj sachant que la cellule contenant contenant la date (A13) est occupée par la formule : =SIERREUR(SI(MOIS(A12+1)=MOIS($F$3);A12+1
    C'est la raison pour laquelle je me suis tourné vers vba.

  6. #6
    Responsable
    Office & Excel

    Avatar de Pierre Fauconnier
    Homme Profil pro
    Formateur et développeur informatique indépendant
    Inscrit en
    novembre 2003
    Messages
    14 680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur informatique indépendant
    Secteur : Enseignement

    Informations forums :
    Inscription : novembre 2003
    Messages : 14 680
    Points : 40 408
    Points
    40 408
    Billets dans le blog
    58
    Par défaut
    Où est placé le bouton d'option et de quel type est-il (formulaire ou activex)?

    Avec une case à cocher de formulaire associée à une cellule, tu peux te passer de VBA... Voici un exemple avec une case à cocher liée à la cellule D1

    Nom : 2019-08-14_151449.png
Affichages : 51
Taille : 20,2 Ko


    Nom : 2019-08-14_151459.png
Affichages : 51
Taille : 6,8 Ko

    Si c'est un activex posé sur une feuille, tu peux passer par le montage suivant:
    Sur le code du Click de l'activex, tu places le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub CheckBox1_Click()
      Me.Calculate
    End Sub
    Dans un module standard, tu crées une fonction personnalisée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Function getLanguage() As String
      If Feuil2.CheckBox1 Then getLanguage = "[$-nl-BE]" Else getLanguage = "[$-fr-BE]"
      getLanguage = getLanguage & "jjjj jj mmmm aaaa"
    End Function
    Et tu utilises la fonction pour définir le format dans ta formule
    Nom : 2019-08-14_152522.png
Affichages : 51
Taille : 4,0 Ko

    Peux-tu donner des détails sur la façon dont ton classeur est construit?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Une fois pour toutes, je donne mon avis. Je ne vais pas le répéter à chaque message...
    Si je propose une solution générique sur votre solution spécifique, c'est parce que, fainéant de nature, je privilégie le réutilisable...
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Vous souhaitez rédiger pour DVP? Contactez-moi
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  7. #7
    Membre régulier
    Inscrit en
    janvier 2009
    Messages
    321
    Détails du profil
    Informations forums :
    Inscription : janvier 2009
    Messages : 321
    Points : 110
    Points
    110
    Par défaut
    J'ai joint mon dossier pour que vouv vous fassiez une idée.

    Merci pour votre aide.

    Je crois que je me suis emmelé les pinceaux entre activeX et formulaire.

    Mais en N et O & se trouvent les valeurs VRAI/FAUX de contrôle.


    Merci d'avance

    Habiler
    Fichiers attachés Fichiers attachés

  8. #8
    Responsable
    Office & Excel

    Avatar de Pierre Fauconnier
    Homme Profil pro
    Formateur et développeur informatique indépendant
    Inscrit en
    novembre 2003
    Messages
    14 680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur informatique indépendant
    Secteur : Enseignement

    Informations forums :
    Inscription : novembre 2003
    Messages : 14 680
    Points : 40 408
    Points
    40 408
    Billets dans le blog
    58
    Par défaut
    Comme tu passes les formats en VBA, tu dois "parler" anglais au niveau du code JMA et utiliser DMY.


    Dans l'événement Private Sub OptBtnFR_Click(), remplace 'Range("A13").NumberFormat = "[$-409]jjjj jj" par Range("a12:a42").NumberFormat = "[$-fr-BE]dddd dd"
    Dans l'événement Private Sub OptBtnNL_Click(), remplace 'Range("A13").NumberFormat = "[$-413]jjjj jj" par Range("a12:a42").NumberFormat = "[$-nl-BE]dddd dd"
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Une fois pour toutes, je donne mon avis. Je ne vais pas le répéter à chaque message...
    Si je propose une solution générique sur votre solution spécifique, c'est parce que, fainéant de nature, je privilégie le réutilisable...
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Vous souhaitez rédiger pour DVP? Contactez-moi
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  9. #9
    Membre régulier
    Inscrit en
    janvier 2009
    Messages
    321
    Détails du profil
    Informations forums :
    Inscription : janvier 2009
    Messages : 321
    Points : 110
    Points
    110
    Par défaut
    Merci à tous pour votre contribution

    Habiler

  10. #10
    Membre habitué
    Homme Profil pro
    Inscrit en
    juillet 2011
    Messages
    158
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : juillet 2011
    Messages : 158
    Points : 130
    Points
    130
    Par défaut
    Bonjour ,

    J'ignorais complètement cette fonctionnalité d'Excel... ca peut être utile et marrant.

    Par contre , je n'arrive pas à la faire marcher sur un autre champ qu'un de format "date". Elle peut traduire de petits textes ?

    @Pierre Fauconnier : Ton deuxième lien vers "la table des codes littéraux" ne marche pas.

    En tous cas , merci !

    Bakounine

  11. #11
    Responsable
    Office & Excel

    Avatar de Pierre Fauconnier
    Homme Profil pro
    Formateur et développeur informatique indépendant
    Inscrit en
    novembre 2003
    Messages
    14 680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur informatique indépendant
    Secteur : Enseignement

    Informations forums :
    Inscription : novembre 2003
    Messages : 14 680
    Points : 40 408
    Points
    40 408
    Billets dans le blog
    58
    Par défaut
    Citation Envoyé par bakounine Voir le message
    [...]Par contre , je n'arrive pas à la faire marcher sur un autre champ qu'un de format "date". Elle peut traduire de petits textes ?[...]
    Non, ça ne fonctionne qu'avec ce qui peut être interprété comme une date, mais ce n'est pas un traducteur...




    Citation Envoyé par bakounine Voir le message
    [...]
    @Pierre Fauconnier : Ton deuxième lien vers "la table des codes littéraux" ne marche pas.
    De mon côté, ce lien fonctionne sans soucis...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Une fois pour toutes, je donne mon avis. Je ne vais pas le répéter à chaque message...
    Si je propose une solution générique sur votre solution spécifique, c'est parce que, fainéant de nature, je privilégie le réutilisable...
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Vous souhaitez rédiger pour DVP? Contactez-moi
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  12. #12
    Membre habitué
    Homme Profil pro
    Inscrit en
    juillet 2011
    Messages
    158
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : juillet 2011
    Messages : 158
    Points : 130
    Points
    130
    Par défaut
    Bonjour ,

    Citation Envoyé par Pierre Fauconnier Voir le message
    Non, ça ne fonctionne qu'avec ce qui peut être interprété comme une date, mais ce n'est pas un traducteur...
    Ca aurait été trop beau ! Vu les quelques 200 langues proposées .....




    Citation Envoyé par Pierre Fauconnier Voir le message
    De mon côté, ce lien fonctionne sans soucis...
    Le site est peut-être bloqué car je suis au boulot. Je tente de chez moi ce soir

    Edit : C'est bien çà , de chez moi le lien fonctionne !

    Merci à toi

    Bakounine

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 03/07/2007, 12h03
  2. changer le format d'une date
    Par ecirb dans le forum VBScript
    Réponses: 1
    Dernier message: 04/04/2007, 09h25
  3. [XSLT] changer le format d'une date
    Par ami_in55 dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 26/03/2007, 10h33
  4. [Dates] changer le format d'une date.
    Par maraly dans le forum Langage
    Réponses: 3
    Dernier message: 24/01/2007, 17h17
  5. commant changer le format d'une date?
    Par tribaleur dans le forum ASP
    Réponses: 5
    Dernier message: 02/06/2006, 08h55

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