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