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
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 ):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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