Changer le format date + heure en date uniquement

Bonjour à toutes et à tous,

Je sollicite votre aide car je n'arrive pas à trouver de solution à mon problème.

Sur la première page j'ai un tableau dans lequel je vais mettre des formules pour récupérer des données basées sur les dates. J'ai également un bouton pour lancer ma macro.

Le but c'est que dès que je clique sur ce bouton, toutes les dates qui sont en colonne A (il y'aura plus de 10000 lignes/feuilles sur le vrai fichier) sur les autres feuilles (je précise que sur le fichier original j'ai 40 feuilles) se mette au format date dd/mm/yyyy sans les heures.

C'est important que les heures n'apparaissent plus pour que mes formules fonctionnes sur ma première feuille.

Je vous joint un fichier en exemple.

Merci d'avance pour vos retours.

13test.xlsm (18.38 Ko)

Bonjour,

Sub FormatHeureA()
    For Each Sh In ThisWorkbook.Worksheets
            DerLigSh = Sh.Cells(Rows.Count, 1).End(xlUp).Row
        If Sh.CodeName = "Feuil1" Then
            Sh.Range("B2:B" & DerLigSh).NumberFormat = "dd/mm/yy"
        Else
            Sh.Range("A2:A" & DerLigSh).NumberFormat = "dd/mm/yy"
        End If
    Next Sh
End Sub

A+

Edit : Hors sujet , j'ai mal lu l'énoncé.

Bonjour,

En colonne D, vous mettez la formule, et vous faites glisser vers le bas :

=ENT(A2)

Et vous modifiez la formule dans votre Feuil1 pour prendre en compte la colonne D.

Vous remarquerez qu'en colonne D, la formule a transformé la date en notation française.

Merci à vous 2 pour vos réponses.

Geof52, le code permet bien de mettre le format date mais il est toujours en dure dans la cellule. En faite en apparence il y'a bien que la date mais dès que je clique sur la cellule on voit dans la barre de formule que l'heure est toujours présente.

Eric Kergresse, ça ne peut pas fonctionner avec cette formule puisque je tire ce fichier d'une extraction google sheet via un formulaire Forms. Lorsque j'ajoute une nouvelle ligne, la formule et automatiquement effacé donc impossible de faire comme ça.

Merci.

Bonjour,

Exact, j'ai vu ma boulette avec la réponse d'Eric,
Du coup pour combiner les deux méthodes :

Sub FormatHeureA()
    For Each Sh In ThisWorkbook.Worksheets
        DerLigSh = Sh.Cells(Rows.Count, 1).End(xlUp).Row
        If Sh.CodeName <> "Feuil1" Then
        Sh.Range("A2:A" & DerLigSh).NumberFormat = "#####"
        For i = 2 To DerLigSh
            Sh.Range("A" & i).Value = Application.WorksheetFunction.RoundDown(Sh.Range("A" & i), 0)
        Next i
            Sh.Range("A2:A" & DerLigSh).NumberFormat = "dd/mm/yy"
        End If
    Next Sh
End Sub

Je transforme en texte puis j'arrondi inférieur pour avoir l'entier de la date et je transforme en date.

A+

Bonjour,

Merci ça fonctionne exactement comme je le voulais c'est top merci beaucoup.

bonjour le fil,

on peut aussi modifier les formules de "Feuil1", alors il ne faut pas lancer la macro ...

Sub Adapter()
     For Each sh In ThisWorkbook.Sheets      'boucle les feuilles
          If StrComp(sh.Name, "feuil1", 1) <> 0 Then     'exclure cette feuille
               With sh.UsedRange.Columns(1)  '1ière colonne
                    If .Cells(1).Address = "$A$1" Then     'vérifier si c'est bien la première colonne
                         .Name = "UR"        'plage nommée
                         .Value = Evaluate("if(isnumber(UR)*(len(ur)>0),int(ur),ur)")     'modifier colonne A
                    End If
               End With
          End If
     Next
End Sub

Edit : je n'avais pas vu la macro de Geof52. Elle aura le même résultat, je suppose, mais sera un petit peu plus lent.

Rechercher des sujets similaires à "changer format date heure uniquement"