Problème de format de date

Bonjour à tous,

J'ai un problème depuis hier et je n'arrive pas à le résoudre.

J'ai un fichier csv contenant plusieurs colonnes dont une remplie avec que des dates (donc au format date ) jusque là tout va bien.

Mais j'ai une macro que j'applique sur ce fichier, elle permute des colonnes, fait des calculs etc mais sur le nouveau fichier obtenu après avoir appliqué cette macro, les dates ont un problème de format à partir du 13 du mois jusqu'à la fin du mois.

Je sais que ça vient d'un format anglais je suppose avec le mois à la place du jour (le mois 13 à 31 n'existant pas).

Pourtant le format de date est bien en français avec la forme JJ/MM/AAAA mais rien y fait.

Est ce que qq1 à déjà rencontré ce problème ?

Merci d'avance pour vos réponses.

Léo

Bonjour,

J'ai déjà eu ce problème et dans mes souvenir il faut appliquer le format de la date directement dans vba

Bonjour

Tu devrais joindre au moins un extrait de ton fichier.

Bye !

Merci pour vos réponses voici le code vba de ma macro :

Global stopAll As Boolean
Global stopAlls As Boolean

Sub Main()
stopAll = False

    activateSheetData
    If (stopAll = True) Then
        Exit Sub
    Else

        'ajoutFeuillesOuvertureEtFermeture
        'If (stopAll = True) Then
            'Exit Sub
        'Else
        Application.ScreenUpdating = False
        filtrage
        Formatage_données
            Application.ScreenUpdating = True

            MsgBox ("Comptage achevé avec succès")
        'End If
    End If
End Sub

Sub activateSheetData()

'On ouvre le fichier que l'on veut traiter

Dim Chemin As String  'déclaration variable du chemin adresse des fichiers
Dim Nomfichier As String 'déclaration variable du fichier qui sera à ouvrir
Dim Nomfeuille As String 'déclaration variable du nom de la feuille à traiter

Dim wBook As Workbook
Dim wSsheet, sheetData As Worksheet

'Ici il faut déclarer le chemin du dossier où les fichiers seront traités
Chemin = "C:\Users\Léo\Desktop\Macro_test\"

' inputbox qui récupère le nom du fichier à ouvrir
Nomfichier = InputBox("Saisie de NOM de fichier : ")

' Commmande d'ouverture du fichier
Workbooks.Open Filename:=Chemin & Nomfichier & ".csv"

'Convertir les données colonnes par colonnes pour garder le format csv
Columns("A:A").Select
    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
        Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
        :=Array(1, 1), TrailingMinusNumbers:=True

' récupère le nom de la feuille
Nomfeuille = Sheets(1).Name

'MsgBox (Nomfeuille)   ' ouvre un message pour indiquer le nom de la feuille

'Activer la feuille de calcul sur laquelle s'exécuteront les macros (cette feuille est la feuille du fichier voulu)

    Set sheetData = ActiveSheet

    Dim sheetWithDataOpened As Boolean
    sheetWithDataOpened = False

    For Each wBook In Workbooks
        wBook.Activate
        For Each wSheet In ActiveWorkbook.Sheets
            If wSheet.Name = Nomfeuille Then
                wSheet.Select
                Range("A1").Select

                If MsgBox(vbCr & "Réaliser le comptage de cette feuille?" & vbCr & vbCr & _
                        "(Pour réaliser le comptage à partir d'une autre feuille cliquez sur non)", vbYesNo) = vbYes Then
                    Set sheetData = ActiveSheet
                    sheetWithDataOpened = True
                    Exit Sub
                End If

            End If
        Next
    Next

    If sheetWithDataOpened = False Then
            MsgBox ("Toutes les feuilles nommées 'Data' ont été balayées" & vbCr & vbCr & "ou" & vbCr & vbCr & "Aucune feuille nommée 'Data' n'a été trouvée" & _
            vbCr & "Veuillez ouvrir le classeur Excel econtenant les données")

    stopAll = True
    Exit Sub
    End If

    sheetData.Activate

    End Sub

lorsque j'exécute les fonctions filtrage et formatage directement dans le fichier de données que je veux traiter, il n'y a pas de problèmes de date ! donc le problème viens de activesheetdata.

merci par avance pour vos réponses

à noter aussi qu'il n'y a pas de problèmes de dates lorsque j'execute ma macro sur un format classeur. Le problème vient donc du format csv.

Je pense qu'il faudrait rajouter une ligne vba pour formaliser la date, juste après l'ouverture du csv mais laquelle? je ne sais pas

merci

Joindre le code, c''est bien mais insuffisant. Il faudrait au moins une partie du fichier qui permette de reproduire et corriger le phénomène.

Bye !

C'est bon j'ai trouvé le problème, il faut rajouter un local:=True dans les paramètres, à l'ouverture du fichier.

Merci quand même

Rechercher des sujets similaires à "probleme format date"