Bonjour tout le monde,
J'ai une macro qui decoupe un fichier en x fichier suivant une colonne de rupture.
La problématique est que le format date lors de la découpe est perdu et me crée des erreurs (format Fr vs format Us)
Pour pouvoir regler le probleme lors de la macro je lui changeais le format de la colonne :
Exemple Range("C:C,D,O:O,p").NumberFormat = "0"
Et ensuite une fois que le fichier est crée : Range("C:C,D,O:O").NumberFormat = "m/d/yyyy"
--> ce patch est bien à condition de connaitre les colonnes à l'avance.
Donc j'ai essayer de créer un autre patch qui reconnait le format date pour le changer
et j'ai une erreur
-----
La macro
Sub test_date()
Dim col_der As Integer
Dim maj_date As String
Dim a As Integer
col_der = Range("IV1").End(xlToLeft).Column 'Derniere colonne
For Each cell In Range(Cells(2, 1), Cells(2, col_der))
If cell.NumberFormat = "yyyy-mm-dd" Then
a = cell.Column
If maj_date = "" Then
maj_date = "Columns(" & a & ")"
Else
maj_date = maj_date & "," & "Columns(" & a & ")"
End If
End If
Next
Range(maj_date).NumberFormat = "0"
End Sub
----->
L'erreur se trouve sur la dernière ligne --> si une personne à une idée pour garder en memoire les colonnes pour changer le format un fois à 0 et l'autre en date.
Merci
J'ai une macro qui decoupe un fichier en x fichier suivant une colonne de rupture.
La problématique est que le format date lors de la découpe est perdu et me crée des erreurs (format Fr vs format Us)
Pour pouvoir regler le probleme lors de la macro je lui changeais le format de la colonne :
Exemple Range("C:C,D,O:O,p").NumberFormat = "0"
Et ensuite une fois que le fichier est crée : Range("C:C,D,O:O").NumberFormat = "m/d/yyyy"
--> ce patch est bien à condition de connaitre les colonnes à l'avance.
Donc j'ai essayer de créer un autre patch qui reconnait le format date pour le changer
et j'ai une erreur
-----
La macro
Sub test_date()
Dim col_der As Integer
Dim maj_date As String
Dim a As Integer
col_der = Range("IV1").End(xlToLeft).Column 'Derniere colonne
For Each cell In Range(Cells(2, 1), Cells(2, col_der))
If cell.NumberFormat = "yyyy-mm-dd" Then
a = cell.Column
If maj_date = "" Then
maj_date = "Columns(" & a & ")"
Else
maj_date = maj_date & "," & "Columns(" & a & ")"
End If
End If
Next
Range(maj_date).NumberFormat = "0"
End Sub
----->
L'erreur se trouve sur la dernière ligne --> si une personne à une idée pour garder en memoire les colonnes pour changer le format un fois à 0 et l'autre en date.
Merci