Format date inversé lors de la copie
Bonjour,
j'ai un souci que je n'arrive pas à résoudre "normalement" lors de la fusion des lignes non vides de plusieurs feuilles sur une autre feuille, nommée "synthèse", d'un même fichier.
L'une des colonnes commune à toutes les feuilles contient une date au format dd/mm/yyyy. ce format est pris en compte sur chaque feuille sauf sur celle "synthèse" où il se met systématiquement en mm/dd/yyyy. Pourtant, le format des cellules indique bien "*14/03/2001". Ainsi, 05/01/2013 sur une des feuilles, devient 01/05/2013 sur la feuille "synthèse".
Même en forçant ce format dans une macro (la macro "format" citée dans le code), la fusion reste en mm/dd/yyyy ce qui m'oblige à forcer au format mm/dd/yyyy pour avoir la date au format.......dd/mm/yyyy 8O
Si quelqu'un à la solution (ou l'explication), je suis preneur§
Voici ma macro de fusion (un grand merci à AVSInfoGest qui l'a bien optimisée :ccool:):
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| Private Sub CommandButton2_Click()
Call import 'macro qui importe des données d'autres fichiers
Dim Lig1 As Integer
Dim Col1 As Integer
Dim MaFeuille As Worksheet
Dim Ligne As Integer
Application.ScreenUpdating = False
Feuil1.Range("A3:N6002").Cells.Clear 'feuille "synthèse"
Lig1 = 3 'On commence à "remplir" la feuille Feuil1 à la ligne 3
For Each MaFeuille In Sheets
If MaFeuille.Name Like "Act*" Then 'les feuilles à fusionner commencent par "Act"
With MaFeuille
For Ligne = 3 To .UsedRange.Row + .UsedRange.Rows.Count
If .Cells(Ligne, 2) <> "" Then
For Col1 = 1 To 14
Feuil1.Cells(Lig1, Col1).Value = .Cells(Ligne, Col1).Text
Next
Lig1 = Lig1 + 1
End If
Next
End With
End If
Next
Worksheets("Synthèse ZD-E").Select
Call format 'macro qui applique aux cellules des formats (centrage, bordures, date, etc.) parce qu'ils ne sont pas pris en compte lors de la fusion (pourquoi???)
Application.ScreenUpdating = True
End Sub |