Problème Macro format cellule

Fermé
pygos Messages postés 185 Date d'inscription vendredi 5 septembre 2008 Statut Membre Dernière intervention 3 mars 2021 - 21 déc. 2010 à 16:04
pygos Messages postés 185 Date d'inscription vendredi 5 septembre 2008 Statut Membre Dernière intervention 3 mars 2021 - 22 déc. 2010 à 17:16
Bonjour,

Lorsque j'ouvre un fichier *.xlcs et que je procède au changement de format/cellule/nombre sur les colonnes C et D, pas de problème...

Lorsque je veux faire la même chose en macro, la le résultat change.....


Date saisie Date en cours
30-06-2010 28-06-2010
30-06-2010 28-06-2010
30-06-2010 28-06-2010
30-06-2010 29-06-2010
30-06-2010 25-06-2010
30-06-2010 28-06-2010
30-06-2010 25-06-2010

1ère opération Edition/remplacer :

- par /

2ème opération Format/cellule/nombre :

j/m/aa;@

En manuel, cela fonctionne......

Résultat :

Date saisie Date en cours
30/6/10 1/7/10
30/6/10 30/6/10
30/6/10 1/7/10
30/6/10 30/6/10
30/6/10 30/6/10
30/6/10 1/7/10

En automatique avec une macro enregistrée :

Date saisie Date en cours
30/06/2010 7/1/10
30/06/2010 30/06/2010
30/06/2010 7/1/10
30/06/2010 30/06/2010
30/06/2010 30/06/2010
30/06/2010 7/1/10

Cela ne fonctionne pas ???


En fait pour les dates inférieures au 10 du mois cela fonctionne et pour les autres cela reste au format texte.....

Merci de me dire si vous trouvez une explication....cela me pose des problèmes en suite sur access...

Cordialement,

Pygos

A voir également:

4 réponses

Bonjour pygos,

Je pense que c'est à cause de la lecture des dates en anglais.

français jj/mm
anglais mm/jj


Quand on passe par la macro, il inverse les chiffres (anglais) et la variable ne comprend pas des mois qui dépassent la valeur 12 donc renvoie en texte.

Solution dans la macro il faut traiter la date en inversant le mois et le jour.

Cordialement
Patrice67
0
pygos Messages postés 185 Date d'inscription vendredi 5 septembre 2008 Statut Membre Dernière intervention 3 mars 2021
21 déc. 2010 à 16:44
Merci mais cela ne fonctionne pas malheureusement.....

Voici la macro rectifiée :

Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 21/12/2010 par
'
Range("C2:d50").Select
Selection.Replace What:="-", Replacement:="/", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Selection.NumberFormat = "m/d/yy;@"
Range("A1").Select

Merci d'avance,

Pygos
0
Salut

Essaie cette macro à la place de la tienne:

Sub TraitDate()
For lig = 2 To 8
For col = 3 To 4
DaT = Cells(lig, col)
jour = Int(Left(DaT, 2))
mois = Int(Mid(DaT, 4, 2))
annee = Int(Right(DaT, 2))
Cells(lig, col) = jour & "/" & mois & "/" & annee
Next col
Next lig
End Sub

Cordialement
Patrice67
0
Salut

J'avais envoyé un post comme je ne le vois pas je l'envoie à nouveau.

Je te propose cette macro à la place de la tienne.
Sub TraitDate()

For lig = 2 To 8

For col = 3 To 4
DaT = Cells(lig, col)
jour = Int(Left(DaT, 2))
mois = Int(Mid(DaT, 4, 2))
annee = Int(Right(DaT, 2))
Cells(lig, col) = jour & "/" & mois & "/" & annee
Next col

Next lig

End Sub


Cordialement Patrice67
0
pygos Messages postés 185 Date d'inscription vendredi 5 septembre 2008 Statut Membre Dernière intervention 3 mars 2021
22 déc. 2010 à 17:16
Bonjour,

Merci pour cette macro mais malheureusement voici le résultat :

Date saisieDate en cours
30/6/10 28/6/10
30/6/10 28/6/10
30/6/10 28/6/10
30/6/10 29/6/10
30/6/10 25/6/10
30/6/10 28/6/10
30/6/10 25/6/10
30/6/10 25/6/10
30/6/10 30/6/10
30/6/10 30/6/10
30/6/10 30/6/10
30/6/10 30/6/10
30/6/10 30/6/10
30/6/10 30/6/10
30/6/10 30/6/10
30/6/10 30/6/10
30/6/10 30/6/10
30/6/10 07/01/2010
30/6/10 30/6/10
30/6/10 07/01/2010
30/6/10 30/6/10
30/6/10 30/6/10
30/6/10 07/01/2010
30/6/10 30/6/10
30/6/10 22/6/10
30/6/10 30/6/10
30/6/10 30/6/10
30/6/10 30/6/10
30/6/10 25/6/10
30/6/10 25/6/10
30/6/10 07/01/2010

Les dates avant le 10 du mois , c'est ok ! mais après ....

Sub DATETRAIT ()

For lig = 2 To 32
For col = 3 To 4
DaT = Cells(lig, col)
jour = Int(Left(DaT, 2))
mois = Int(Mid(DaT, 4, 2))
annee = Int(Right(DaT, 2))
Cells(lig, col) = jour & "/" & mois & "/" & annee
Next col
Next lig

end sub

Merci d'avance !!
Pygos
0