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
Partager