Date US/FR formulaire

Bonjour,

Je cherche à empêcher la conversion automatique d'une date issue d'un formulaire VBA en mm/jj/aaaa:
- mon formulaire affiche automatiquement la date du jour (via Date), modifiable.
- je rentre d'autres informations
- la macro copie la date (et les autres informations) dans les cellules dédiées d'un tableur excel

La date affichée dans le formulaire est bien en jj/mm/aaaa, mais lorsque la macro effectue la copie, le format se change automatiquement en mm/jj/aaaa.
La cellule concernée du tableur est bien au format date *jj/mm/aaaa

J'ai bien vu qu'il existait d'autres posts à ce sujet, qui datent de plusieurs années mais n'arrive pas à appliquer les solutions proposées.
J'ai excel VBA 2013

Merci beaucoup pour votre aide.

3 réponses

  1. Bonjour,

    Pouvez-vous mettre votre fichier a dispo
    Pour transmettre un fichier,
    Veillez a ce qu'il n'y ait PAS DE DONNEES CONFIDENTIELLES
    il faut passer par un site de pièce jointe tel que cjoint.com

    Allez sur ce site : https://www.cjoint.com/
    Clic sur parcourir,
    Cherche ton fichier,
    clic sur ouvrir,
    Clic sur "Créer le lien cjoint",
    Copier le lien,
    Revenir ici le coller dans une réponse...

    ou
    'mon partage
    https://mon-partage.fr/
    1. Bonjour,

      Si tu ne veux pas mettre le fichier, mets au moins le code du formulaire.
      1. Bonjour,
        Le fichier est relativement important et le code aussi, je pensais qu'il y avait une manipulation simple et un peu standard pour palier à ce problème, quelque soit le type de code.

        Voici ci-dessous un extrait du code du formulaire

        Private Sub UserForm_Activate()

        Chemin1 = ThisWorkbook.Path
        Fichier1 = ThisWorkbook.Name
        Onglet0 = "Tableau de bord global"

        With Workbooks(Fichier1).Sheets(Onglet0)

        If testAjout = False Then
        i = ActiveCell.Row
        Me.ticketDemande = .Cells(i, 1).Value
        Me.Contact_date_debut = .Cells(i, 2).Value
        Else
        'Création d'une nouvelle ligne
        Me.ticketDemande = "New"
        Me.Contact_date_debut = Date
        End If
        End With

        End Sub

        Private Sub UserForm_Initialize()

        Chemin1 = ThisWorkbook.Path
        Fichier1 = ThisWorkbook.Name
        Onglet0 = "Tableau de bord global"
        Onglet1 = "Listes"
        Onglet2 = "Données source"

        With Me
        .ticketDemande = "New"
        .Contact_date_debut = Date
        End With
        End Sub


        Merci beaucoup
        1. Dans cet extrait de code, il n'y a pas d'instruction qui écrit sur la feuille !!!!
        2. Tout à fait, car c'est au niveau de la définition de la date ("Date" défini je crois la date en américain) que j'ai un problème. En tout cas c'est ce que je suppose.
          L'écriture est une insertion de la valeur dans la cellule, sans définition particulière:


          With Workbooks(Fichier1).Sheets(Onglet0)

          .Cells(n, 2).Value = Contact_date_debut.Value
          end With

          Peut être qu'il est en effet possible de pallier au problème à ce niveau?
        3. @enimsay0Re,

          ceci devrait aller:

          With Workbooks(Fichier1).Sheets(Onglet0)
                          .Cells(n, 2).Value = CDate(Contact_date_debut)
          end With