bonsoir a tous je sais ce sujet à deja été traiter mais les solutions proposé j'arrive pas à savoir ou les mettre.
donc j'utilise cette macro qui récupére sur plusieur onglet nomer formation formant ma base de donné des lignes si celle derniere est supérieure à 01/01/1900 et me la copie dans l'onglet recape cela fonctionne bien si ma date est 22/12/2009 mais si cette derniere est ecris comme ceci 04/11/2009 elle apparais en 11/04/2009
donc elle inverse le jour et le mois pouvez vous m'aider à modifier ma macro pour que la date redevienne correcte
merci d'avance pour votre aide j'ai mis egalement une pj simplifier.
donc j'utilise cette macro qui récupére sur plusieur onglet nomer formation formant ma base de donné des lignes si celle derniere est supérieure à 01/01/1900 et me la copie dans l'onglet recape cela fonctionne bien si ma date est 22/12/2009 mais si cette derniere est ecris comme ceci 04/11/2009 elle apparais en 11/04/2009
donc elle inverse le jour et le mois pouvez vous m'aider à modifier ma macro pour que la date redevienne correcte
Code:
Sub RH()
Sheets("Recape").Select
Range("A4:F6500").Select
Selection.ClearContents
Range("A4").Select
Dim ws As Worksheet, Tbl() As Variant, C As Integer
ReDim Tbl(1 To 6, 1 To 1)
C = 1
For Each ws In Worksheets
If Left(ws.Name, 9) = "FORMATION" Then
With ws
For Each CEL In .Range("E5:E" & .Range("E65000").End(xlUp).Row)
If CEL > "01/08/1900" Then
L = CEL.Row
Tbl(1, C) = .Range("B" & L).Value
Tbl(2, C) = .Range("C" & L).Value
Tbl(3, C) = .Range("D" & L).Value
Tbl(4, C) = .Range("K" & L).Value
Tbl(5, C) = .Range("E" & L).Value
Tbl(6, C) = .Range("F" & L).Value
C = C + 1
ReDim Preserve Tbl(1 To 6, 1 To C)
End If
Next CEL
End With
End If
Next ws
Tbl = Application.Transpose(Tbl)
With Sheets("Recape")
LI = .Range("A3000").End(xlUp).Row + 1
.Cells(LI, 1).Resize(UBound(Tbl, 1), UBound(Tbl, 2)) = Tbl
End With
merci d'avance pour votre aide j'ai mis egalement une pj simplifier.