OVH Cloud OVH Cloud

validations

8 réponses
Avatar
Manu
Bonjour,

J'ai dans une colonne des dates françaises qui ont parfois des '
J'ai donc une macro qui converti ces dates en JMA. Dans Excel 2010, ca
fonctionne nickel en revanche je dois l'exécuter sur 2007, et là, surprise !
Certaines dates se convertissent très bien et d'autres inversent les jours
des mois (environ la moitié)

Que ce passe t'il ? Voici le code...

Sub Convertir_date()

Range("J10").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.TextToColumns Destination:=Range("J10"),
DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False,
Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False,
FieldInfo _
:=Array(1, 4), TrailingMinusNumbers:=True
End Sub

Merci

Manu


---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus

8 réponses

Avatar
MichD
Bonjour,
Fais un clic sur une cellule contenant ces dates et à l'aide du menu contextuel
donne-nous le format de ces dates. Je suppose que ta plage de cellule est au
format "Texte" et non "Date".
Est-ce que seulement les dates du jour du mois inférieur à 12 ont un format à
l'américaine soit Mois / jour / année?
Essaie cette macro.... Ta version d'Excel ne m'est pas disponible pour tester...
'--------------------------------------------
Sub Convertir_date()
Range("J10").Select
With Range(Selection, Selection.End(xlDown))
.NumberFormat = "DD/MM/YY"
.TextToColumns Destination:=Range("J10"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:=True, _
Semicolon:úlse, Comma:úlse, Space:úlse, Other:úlse, FieldInfo _
:=Array(1, 4), TrailingMinusNumbers:=True
End With
End Sub
'--------------------------------------------
MichD
Avatar
Manu
En faite, je reçois toujours ces fichiers différemment, parfois ils sont en
texte avec ' devant la date, parfois ils sont nickel au format date et en
français et parfois un mélange des deux, c'est pour cela que j'ai fait une
macro qui dans convertir mette quoi qu'il arrive les dates en français en
format date (ce qui fonctionne nickel sous la version 2010)
Par exemple, là j'ai un fichier avec les dates en format date, mais la macro
les convertis parfois en anglais, il est vrai que seul les dates ayant des
jours < se mettent à l'américaine. Mais pourquoi ?
Ton code fait la même chose que le mien.
Ou alors, pour contourner, est t'il possible de demander à Excel de
convertir toutes les dates qui ne sont pas au format date et de laisser les
autres tel quel....
Merci
Manu
"MichD" a écrit dans le message de groupe de discussion :
o294dd$7md$
Bonjour,
Fais un clic sur une cellule contenant ces dates et à l'aide du menu
contextuel
donne-nous le format de ces dates. Je suppose que ta plage de cellule est au
format "Texte" et non "Date".
Est-ce que seulement les dates du jour du mois inférieur à 12 ont un format
à
l'américaine soit Mois / jour / année?
Essaie cette macro.... Ta version d'Excel ne m'est pas disponible pour
tester...
'--------------------------------------------
Sub Convertir_date()
Range("J10").Select
With Range(Selection, Selection.End(xlDown))
.NumberFormat = "DD/MM/YY"
.TextToColumns Destination:=Range("J10"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:úlse,
Tab:=True, _
Semicolon:úlse, Comma:úlse, Space:úlse, Other:úlse,
FieldInfo _
:=Array(1, 4), TrailingMinusNumbers:=True
End With
End Sub
'--------------------------------------------
MichD
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
Avatar
MichD
Voir mon message sur le fil "Date à nouveau" de Brat'ac
pour les explications.
Utilise le site Cjoint.com et publie un classeur contenant les dates
difficiles à transformer. (Tu peux supprimer les autres informations
de la feuille.) Transmets-nous l'adresse obtenue ici.
MichD
Avatar
Manu
Bonsoir,
Pour envoyer le fichier en faisant du propre sur ce fichier retirant des
colonnes etc... ainsi que des macros (que je reçois en même temps que le
fichier) il s'avère que je commence à comprendre....
Les macros que e reçois et qui me sont inutiles sont faites en Angleterre,
si je ne les retire pas, il m'inverse les dates JMA en MJA en revanche, si
je supprime leurs macros avant de lancer la mienne, çà fonctionne bien.
J'enregistre mes macros dans le fichiers Personnal car je dois la lancer
chaque semaine sur de nouveaux fichiers. Est t'il possible de mettre en
priorité dans ma macro de supprimer toutes les macros présente sur le
fichier ainsi que celle en Workbook open et qu'ensuite ma macro puisse
continuer à procéder. je pense que si c'est faisable, ca solutionnerai le
problème.
Ce qui est tout de même étrange c'est que ce problème se situe uniquement
sur la version 2007 mais sur les versions supérieurs aucuns soucis. et
manque de bol, je dois travailler sur 2007.
merci
Manu
"MichD" a écrit dans le message de groupe de discussion :
o2c0jp$p2p$
Voir mon message sur le fil "Date à nouveau" de Brat'ac
pour les explications.
Utilise le site Cjoint.com et publie un classeur contenant les dates
difficiles à transformer. (Tu peux supprimer les autres informations
de la feuille.) Transmets-nous l'adresse obtenue ici.
MichD
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
Avatar
MichD
Dans ce classeur, il doit y avoir des macros événementielles.
À savoir si ce que tu demandes est possible, il faudrait d'abord que je voie
le type de macro qu'il y a dans le ThisWorkbook et probablement les macros
qu'il y a aussi dans les modules feuilles.
À tout hasard, sans rien voir, fais ceci :
Dans la macro de ton classeur de macros personnelles que tu utilises,
ajoute 2 lignes de code :
'En tout début de macro :
application.enableEvents = False
'ta macro
'Et comme dernière ligne de code de la macro :
application.enableevents = True
Si cela ne fonctionne pas, tu devras publier ton classeur en conservant
la colonne des dates et les macros du classeur.
MichD
Avatar
Manu
Ca ne change rien, l'inversion de JMA en MJA se poursuit malgrès
application.enableEvents....
Il n'y a pas de macros évenementielles en revanche la macro workbook.open
lance plusieurs macros qui se trouves dans le module1, il y a aussi des
macros function
Aucunes macros se trouvent dans les Feuil
Merci
"MichD" a écrit dans le message de groupe de discussion :
o2cgcj$1lum$
Dans ce classeur, il doit y avoir des macros événementielles.
À savoir si ce que tu demandes est possible, il faudrait d'abord que je voie
le type de macro qu'il y a dans le ThisWorkbook et probablement les macros
qu'il y a aussi dans les modules feuilles.
À tout hasard, sans rien voir, fais ceci :
Dans la macro de ton classeur de macros personnelles que tu utilises,
ajoute 2 lignes de code :
'En tout début de macro :
application.enableEvents = False
'ta macro
'Et comme dernière ligne de code de la macro :
application.enableevents = True
Si cela ne fonctionne pas, tu devras publier ton classeur en conservant
la colonne des dates et les macros du classeur.
MichD
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
Avatar
MichD
Si tu maintiens la touche "MAJ" enfoncé durant l'ouverture de ce fichier,
la procédure du thisWorkbook "Workbook_Open" ne s'exécutera pas. Si
le fichier ne contient pas d'autres macros événementielles, tu pourras
exécuter ta macro.
MichD
Avatar
MichD
enfoncée...
Si tu maintiens la touche "MAJ" enfoncée durant l'ouverture de ce fichier,
la procédure du thisWorkbook "Workbook_Open" ne s'exécutera pas. Si
le fichier ne contient pas d'autres macros événementielles, tu pourras
exécuter ta macro.
MichD