Bug de date sur un remplacement

  • Initiateur de la discussion Initiateur de la discussion Brudy
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Brudy

XLDnaute Junior
Bonjour à tous,

Je suis face à un problème qui semble super simple, mais pourtant je suis incapable d'empêcher excel de faire foirer mes dates.

Je reçoit des informations de date sous le format : 12.12.2012 et j'exploite sous le format : 12/12/2012

J'ai donc réalisé ma macro à l'enregistreur pour me permettre de presser le bouton pour transformer les colonnes de dates en exploitable.

Et là ??????????? 😱😱😱😱😵😵😵

upload_2017-3-3_10-13-32.png

Mes dates changent, prenant le jour pour le mois et inversement. mais quand je vais le faire à la main, rechercher, remplacer, . par /, ça fonctionne 😵

La macro semble provoquer un bug, quelqu'un aurait une solution ?

Code:
Sub Macrodate()
'
' Macrodate Macro
'

'
  
    Range("G6:G32870").Select
    Selection.Replace What:=".", Replacement:="/", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
End Sub
 
Bonsour®
Bonjour
je suis incapable d'empêcher excel de faire foirer mes dates.

Je reçoit des informations de date sous le format : 12.12.2012 et j'exploite sous le format : 12/12/2012

Mes dates changent, prenant le jour pour le mois et inversement. mais quand je vais le faire à la main, rechercher, remplacer, . par /, ça fonctionne 😵

La macro semble provoquer un bug, quelqu'un aurait une solution ?
pour l'explication :
Quand tu es en macro les dates sont reconnues "ByDesign" en mode US
Quand tu es en mode Manuel les dates sont reconnues "ByDesign" en mode Local

il faut intervenir avant que Excel "ByDesign" te prenne la main...
Donc lors de l'import des données (fichier texte)
à l 'étape 3 et pour les colonnes concernées préciser le "format lu"
utiliser "MJA"
 
Marcel32, ta macro est hyper fonctionnel, le problème initial est résolu !
Cependant, comme mon fichier atteint 500 lignes en avril, et qu'il sera sans doute à 2000 en fin d'année, la macro vas prendre de plus en plus de temps, et elle rame déjà pas mal.
Cette remarque est étrange car cela semble dire que tu relances la macro chaque mois, et donc que chaque mois il y a inversion du mois et du quantième du mois pour les lignes déjà présentes...

Il faudrait donc absolument que la macro n'interviennent que sur les dates qui n'ont pas encore été corrigées.
Cela peut éventuellement effectué en n'agissant que sur les dates du mois en cours, ou peut-être uniquement sur les cellules sélectionnées.

Ceci dit, il est certain que l'idéal serait d'importer des dates au bon format.
 
L'idéal étant basé sur un facteur humain, il est bien plus simple de corriger le problème via Excel malheureusement.

Les informations s'ajoutent au fil de l'année et la macro peut potentiellement être utilisée chaque semaine.

c'est pour cette raison que je sélectionnait l'ensemble de ma colonne G, ta macro est parfaite, mais le +1 semblent être assez gourmand en chargement :/

Par contre, ta solution d'intégrer un ajustement seulement pour le mois en cours pourrait être adéquate !
D'ailleurs ça me semble être la meilleur idée
 
Quand je parle d'idéal, je veux bien sûr parler de la meilleure solution.
Et si les dates de ton fichier importé sont toujours au même format, comme ça semble être le cas, alors le facteur humain n'entre pas en ligne de compte ici (et c'est tant mieux, ça simplifie effectivement les choses). 😉

Et cette remarque faisait référence à celle de Modeste : importer dans Excel des dates au bon format, c'est-à-dire les transformer lors de l'importation.
Autrement dit, l'idéal ici n'est pas que ton fichier originel comporte directement des dates au bon format, mais qu'Excel sache quel format est utilisé dans ton fichier à importer et qu'il en tienne compte lors de l'importation pour qu'il importe les dates au format que tu veux. 😉


j'ai absolument décroché quand tu as commencé à expliquer comment intervenir avant ce fameux ByDesign imposé par excel ?
Je pense que Modeste veut dire qu'il faut utiliser le format "JMA" sur les dates au moment de l'importation du fichier.
 
Dernière édition:
Ce que je voulais dire c'est que le problème vient d'un facteur humain, un réfractaire qui pense produire un bon travail. L'importation est realisée suite à un copier coller d'un autre fichier excel.

Les dates au format 01.01.2001 se fondent dans la masse avec une majorité de date en 01/01/2001.

Alors peut être existe il un collage spécial qui me permette d'appliquer directement le format souhaité ?
 
Si c'est un "copier/coller" et non une importation, alors il est peut-être préférable de tenter une détection des dates non corrigées (elles contiennent des "." et non des "/", mais les vraies dates sont seulement des nombres... bref, il faut voir ce qui est faisable).

Il serait peut-être bien que tu fournisses un fichier ("dépersonnalisé" bien sûr), qui permettrait peut-être de trouver plus facilement une solution. 😉
 
Pour rester sur la macro que j'avais proposée précédemment, essaye de la remplacer par celle-ci:

VB:
Sub MacroDate2()
'
Dim Lig As Long

  Lig = 0
  While Range("G6").Offset(Lig, 0) <> ""
    With Range("G6").Offset(Lig, 0)
      If IsDate(.Value) = False Then .Value = Mid(.Value, 4, 2) & "/" & Left(.Value, 2) & "/" & Right(.Value, 4)
    End With
    Lig = Lig + 1
  Wend

End Sub
 
Bonsour®
Ce que je voulais dire c'est que le problème vient d'un facteur humain, un réfractaire qui pense produire un bon travail. L'importation est realisée suite à un copier coller d'un autre fichier excel.

Les dates au format 01.01.2001 se fondent dans la masse avec une majorité de date en 01/01/2001.

Alors peut être existe il un collage spécial qui me permette d'appliquer directement le format souhaité ?
s'il s'agit d'un autre fichier Excel...
les dates sont en principe déjà en format interne Excel date(N° de serie)
si ce n'est pas le cas le défaut vient alors de ce fichier qui contient des dates au format texte !!!!

Garbage In, Garbage Out !!!!
pour être poli 🙄

M**** In ; M**** Out
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
11
Affichages
3 K
Retour