Problème Macro format cellule
pygos
Messages postés
202
Statut
Membre
-
pygos Messages postés 202 Statut Membre -
pygos Messages postés 202 Statut Membre -
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
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:
- Problème Macro format cellule
- Format epub - Guide
- Format factory - Télécharger - Conversion & Codecs
- Hp usb disk storage format tool - Télécharger - Stockage
- Format apfs - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
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
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
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
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
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
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
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
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
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
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