Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 vba gestion heures supérieure à 24h et format date inversée

Novice avance !?

XLDnaute Occasionnel
bonsoir,
je n'arrive plus à m'y retrouver dans la gestion des heures supérieure à 24
si colonne heure = 01:02:25 et colonne Type = AM alors résultat attendu est 25:02:25

et dans une autre temps dans la gestion du format des dates inversées dans une extraction de données lorsque le jour est supérieur à 12

je cherche à le faire en vba pour l'adapter à mon programme et je bloque sur ces 2 points

je vous ai mis un ficher exemple mais sans code vba parce que trop fouillis et je me dis que c'est peut-être plus simple de partir sur base vierge ?!

merci d'avance pour votre temps et votre aide
 

Pièces jointes

  • pb_date_conv.xlsm
    12 KB · Affichages: 13

Novice avance !?

XLDnaute Occasionnel
bonjour,
merci pour cette 1ère intervention
il s'agit d'une extraction d'un logiciel pour lequel on ne peut pas gérer les formats de sortie

la gestion des heure proposée est ok mais par formule.

j'aimerais gérer le tout par vba pour obtenir le résultat en colonne E et F comme dans le fichier avec comme point de départ les données extraites que nous avons en colonnes A à C

1ère problématique:
colonne A:
visuellement en cellule en A2 on a : 05/13/2022 mais en cliquant dessus on obtient 13/05/2022
et en cellule A8 on a: 12/05/2022 mais en cliquant dessus on obtient 05/12/2022

je voudrais pouvoir obtenir les dates de manière uniformisée de manière visuelle et en cliquant dessus sour la forme jj/mm/aaaa ( 12/05/2022 et 13/05/2022 ) et adaptable à n'importe quelle date.

2ème problématique:
la gestion des heures : le jour de traitement des données dans ces données est le 12/05/2022 et on obtient des heures le lendemain matin le 13/05/2022 et tant que ces données vont jusqu'à 03h00 du matin il faudrait pouvoir les formater sous forme 27:00 (03:00 et AM) par exemple pour 03h00 du matin ou 25h10 pour 01h10 du matin (01:10 et AM).
adaptable à n'importe quelle date : si (heure < ou = à 03h00 et type = AM) et date = (date de base de traitement + 1) alors heure sera sous forme 27:00 (par exemple)

en espérant que cela soit plus clair
merci d'avance et bon weekend
 

TooFatBoy

XLDnaute Barbatruc
Bonjour,

Ton problème de date vient peut-être bien d'une mauvaise importation.

Est-ce que toutes les dates sont systématiquement inversées ?

Si non, comment savoir si le 10/11/2022 est vraiment le 10/11/2022 ou le 11/10/2022 ?
 

Novice avance !?

XLDnaute Occasionnel
c'est une extraction que je ne connaissais pas jusqu'à il y a peu. L'ancien logiciel permettait des extraction qui me permettait de traiter les données plus facilement. La mise à jour a été néfaste.

mais dans l'absolu on a une date de traitement de données qui est là par exemple le 12/05/2022 et donc très peu de données sur des milliers qui traite les données du lendemain matin jusqu'à 3h00.
je peux faire un inputbox pour demander quelle est la journée à traiter et ensuite faire un contrôle.

mais là typiquement ça ressemble à un problème de format anglais français pour les jours qui dépasse 12. Sûrement un conflit par apport au 12 mois de l'année.
jusqu'au 12ème jour inclus il met sous la forme française et à parti du 13ème jour il passe en format anglais

j'avoue que je n'arrive pas à retraiter les dates pour les remettre toutes sous le même format et visu et facilement interprétable pour la suite de mon code...soit jj/mm/aaaa
 

Phil69970

XLDnaute Barbatruc
Bonjour à tous

Tu ne réponds pas à la question de Marcel , à savoir :
comment savoir si le 10/11/2022 est vraiment le 10/11/2022 ou le 11/10/2022 ?
Dit autrement si tu as sur une ligne
03/02/2022
Et sur une autre
02/03/2022
Comment tu sais laquelle n'est pas au bon format la 1ere ligne ou la 2eme ligne ?

Quelle critère t'assures que la bonne est la ligne X et donc la mauvaise la ligne Y ?

@Phil69970
 

TooFatBoy

XLDnaute Barbatruc
Puisque, comme le dit @Phil69970, tu ne réponds pas à mes questions, je vais les poser différemment :
- Dans les données exportées, y a-t-il des dates qui sont inversées ?
- Si oui, sont-elles toutes inversées ?

Et j'ajouterai : comment fais-tu l'importation ?
 

Novice avance !?

XLDnaute Occasionnel
le problème ne se pose que pour la journée du 12 de chaque mois.

du 1er au 11 du mois on a le visu dans la cellule 11/10/2022 et en cliquant sur la cellule on voit dans la barre de formule la forme anglaise 10/11/2022 pour la journée du 11 octobre 2022...donc toutes dates sont au même format pour toutes les données

du 13 au 30/31 du mois on le visu dans la cellule 11/14/2022 et en cliquant sur la cellule on voit dans la barre de formule la forme française 14/11/2022 pour la journée du 14 novembre 2022...donc toute les dates sont au même format pour toutes les données

et lorsqu'on traite la journée du 12 on a un mix des 2 puisqu'il y des données qui remontent du lendemain 13 au matin tôt dans la nuit.

je récupère une extraction brute de données jour par jour sur laquelle on ne peut rien paramétrer
 

Phil69970

XLDnaute Barbatruc
Le fil

Toujours pas de réponse claire à la question posée

Dit autrement si tu as sur une ligne
03/02/2022
Et sur une autre
02/03/2022
Comment tu sais laquelle n'est pas au bon format la 1ere ligne ou la 2eme ligne ?

Quelle critère t'assures que la bonne est la ligne X et donc la mauvaise la ligne Y ?

Je vais essayer une dernière fois d'une autre manière.
Est ce que l'on peut dire que :
TOUTES LES DATES inférieures à 12 sont inversées SANS EXCEPTION

@Phil69970
 

Novice avance !?

XLDnaute Occasionnel
oui et je pensais avoir été plus clair du coup mais désolé si ce n'était pas le cas
pour reprendre le mois de mai
- jusqu'au 12 mai 2022 inclus les dates sont gérés sous la forme mm/jj/aaaa par excel
- à parti du 13 mai 2022 les dates sont gérer sous la forme jj/mm/aaaa par excel

et il n'y qu'en devant traiter la journée du 12 que l'on retrouve 95% des données relatives au 12 jusqu'à miniuit et 5% des données le lendemain donc le 13 jusqu'à 3h du matin

le fait d'arriver à mettre les dates sous la même forme me permettra plus facilement de gérer les heures supérieures à minuit pour qu'elle s'affiche sous la 25h00 par exemple pour 01h00 du matin
 

Novice avance !?

XLDnaute Occasionnel
oui et je n'ai pas la main sur l'export que je récupère. Je ne fais d'importation. Je récupère un fichier excel où sont traiter en colonne A les dates, colonne B les Heures et Colonnes C le type AM ou PM pour matin ou après-midi tel que je l'ai énoncé plus haut... et dans les autres colonnes du fichier reçu j'ai d'autres données dont je me sert pour faire des calculs mais que je n'ai pas laissé dans le fichier exemple donné sur ce forum.

et mon problème de gestion de date ne se retrouve que pour traiter la journée du 12

non toutes les dates ne sont pas inversées. L'inversion se fait au passage du 12 vers le 13 du mois. Et le traitement des données à faire pour le 12 comprend quelques données du 13 au matin donc je me retrouve dans la même colonne A avec des dates d'un format pour le 12 et d'un autre format pour le 13 pour cette seule et unique journée du 12 de chaque mois
 

Discussions similaires

Réponses
15
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…