Date avec jour & mois inversés - Solution pour macro utilisant des variables

didus

XLDnaute Occasionnel
Bonjour le forum,

Beaucoup de posts sur le sujet mais apparemment aucun avec une solution directe à ce problème.

En m'inspirant de plusieurs réponses, j'ai trouvé une solution à mon soucis:
Objet:
création d'un rapport contenant des champs modifiés par une macro:
lors des modifs, les variables RF et RI (string publiques) sont valorisées par les données initiales et modifiées
refs liées à l'ancien champ en col F(RF) puis refs liées au nouveau champ en col I(RI)
variables textes ou dates suivant le type de données modifiées
problème:
si le jour d'une cellule date modifiée est inférieur ou égal à 12, les valeurs de jour et de mois sont inversées
d'où un rapport compliqué à utiliser, appelé aussi rapport "AmoitiéFô":rolleyes:


Solution pour ce cas d'usage de variable de type string:
' cas des dates avec le risque d'inversion des jours et mois si jour<13
' on applique le format date, en cas d'erreur on copie simplement la cellule

On Error Resume Next
Sheets("rapport").Range("F" & ligrapport) = DateValue(RF)
If Err <> 0 Then
Err = 0
Sheets("rapport").Range("F" & ligrapport) = RF
End If
On Error Resume Next
Sheets("rapport").Range("I" & ligrapport) = DateValue(RI)
If Err <> 0 Then
Err = 0
Sheets("rapport").Range("I" & ligrapport) = RI
End If
ligrapport = ligrapport + 1

Ce petit ajout qui copie les valeurs en colonne F et I permet de copier le format texte si le format date retourne une erreur.

Si cela peut servir à d'autres j'en serai ravi, j'ai tellement trouvé de solutions sur ce forum!
A adapter à vos besoins bien entendu.

Amicalement
 

ChTi160

XLDnaute Barbatruc
Re : Date avec jour & mois inversés - Solution pour macro utilisant des variables

Bonsoir didus
Bonsoir le fil
Bonsoir le forum

j'ai souvent utilisé les Dates sous la forme d'un Chiffre .
Exemple : 43211
ce qui m a permis souvent , de contourner cette inversion (Mois , Jour)
n'ayant pas de fichier pour tester ????? (peux tu mettre un fichier exemple, quelques lignes représentatives sans données confidentielle)
Bonne fin de Journée
Amicalement
Jean Marie
 
Dernière édition:

didus

XLDnaute Occasionnel
Re : Date avec jour & mois inversés - Solution pour macro utilisant des variables

Bonjour,
Désolé Chti160, je n'ai eu aucune notification pour ton post, ce qui fait que c'est vraiment par hasard (affichage de tous mes messages) que je vois ta question.
Pour y répondre, pas simple, le fichier que j'ai mis au point et utilisé par plus de 30 personnes fait aujourd'hui 6Mo.
Je vais essayer d'extraire toutes les lignes de données à part une ou deux pour voir si la taille convient.

C'est délicat pour que mes macros fonctionnent il faut pas mal de données.


Enfin après beaucoup de suppressions je te passe un tableau complet niveau macros avec peu de données, il faudra que je revienne expliquer la procédure de mise à jour:
c'est une macro dans la partie rapport : choix des macros, la seconde à partir du haut qui note dans le rapport les écarts modifiés, si les zones concaténées de couleur rose des 3 premiers onglets sont identiques, le prg teste certaines cellules, si elles sont différentes ou contiennent des dates au lieu de formules ces données sont mises à jour et sont affichées dans rapport.
Dans rapport encore les lignes 108 à 437 contiennent des données testées celles en rouge étaient inversées, les dates saisies par contre étaient correctes.
si tu t'y retrouve...
Cordialement
 

Pièces jointes

  • Copie de TDB-OI.xlsm
    803.6 KB · Affichages: 214

ChTi160

XLDnaute Barbatruc
Re : Date avec jour & mois inversés - Solution pour macro utilisant des variables

Bonjoru didus
Bonjour el fil
Bonjour le Forum

arfff peux tu m'expliquer tu dix :
Dans rapport encore les lignes 108 à 437 contiennent des données testées celles en rouge étaient inversées, les dates saisies par contre étaient correctes.
1° les colonnes dates concernées dans la feuille rapport
2° comment sont approvisionnées la , les Colonnes concernées
3° la procédure qui met les dates
4° d’où sont tirées les dates qui sont collées dans la ,les colonnes de la feuille rapport
je parcoure les procédures, mais je n'arrive pas à tout comprendre (ou sont prises les dates à coller en feuille rapport et dans quelle colonne ?)
dans l'attente
Bonne journée
Amicalement
Jean marie
 

didus

XLDnaute Occasionnel
Re : Date avec jour & mois inversés - Solution pour macro utilisant des variables

Bonjour Jean Marie,
Tout d'abord si tu as une astuce pour que j'ai un mail d'info en cas de réponse dans un de mes sujets ce serait bien, je viens de vérifier mon profil, tout est activé avec une adresse correcte et je n'ai jamais d'info sur une réponse à un de mes sujets suivi...

Pour répondre à ta question, les macros qui sont à l'origine des mises à jour sont lancées dans rapport (entre autre) sous
choix des macros++ (userform1) case 3 qui lance la macro
Maj_donnees située dans le module 1 vers le milieu du module
(en début de module figure la liste des macros contenues)
Les données sont remplacées dans Général par des données issues de postes et liaisons
la zone testée est la concaténation de 3 cellules et AT pour général, BN pour Liaisons et AS pour postes
pour chaque valeur de Général des cellules de postes et liaisons sont testées, Liaisons puis Postes
si le test est bon deux macros sont appelées maj_donnees_postes ou maj_donnees_liaisons
si les cellules trouvées (pour mise à jour) contiennent une formule, les données de général restent inchangées
sinon, si elles sont égales rien n'est pris en compte
enfin si elles sont différentes elles sont mises à jour et une ligne est crée dans rapport dans les premières colonnes de gauche.
à la fin, le rapport est vérifié avant sauvegarde si c'est ok, les colonnes sont déplacées vers la droite par la macro ====> en J1

Voilà très rapidement résumée l'idée générale.

Cordialement
 

didus

XLDnaute Occasionnel
Re : Date avec jour & mois inversés - Solution pour macro utilisant des variables

Détail des cellules modifiées:

Dans général en correspondance avec liaisons : X Y Z
en correspondance avec Postes : AE AF AH (colorées en orange)

Les sources sont
I J K pour Liaisons
et F G H pour Postes

Cordialement
 

Discussions similaires

Statistiques des forums

Discussions
312 349
Messages
2 087 513
Membres
103 572
dernier inscrit
hamzahaha