Reclasser les valeurs colonne sur 6 colonnes, fn de l'heure

Résolu/Fermé
DebutantEnCode Messages postés 2 Date d'inscription vendredi 9 octobre 2015 Statut Membre Dernière intervention 12 octobre 2015 - 9 oct. 2015 à 18:20
DebutantEnCode Messages postés 2 Date d'inscription vendredi 9 octobre 2015 Statut Membre Dernière intervention 12 octobre 2015 - 12 oct. 2015 à 09:57
Bonjour à tous,

Je suis plus que débutante en VBA (je n'ai jamais codé en fait), et j'ai besoin d'automatiser un reclassement d'une colonne sur excel, car le fichier qu'on m'a transmis n'est pas dans le bon format...
Mon fichier est le suivant :

J'ai 3 colonnes [DATE] [HEURE:MINUTE] [VALEUR]
La colonnes [HEURE:MINUTE] forme une boucle de 24h avec une valeur toute les 10min, j'ai donc 24*6 valeur par jour, et des valeurs sur 1 an

J'aimerai réécrire ce tableau sous la forme suivante, avec 8 colonnes :
[DATE];[HEURE];[MINUTE 0];[MINUTE 10];[MINUTE 20];[MINUTE 30];[MINUTE 40];[MINUTE 50]
Ainsi les valeurs qui correspondaient à chaque 10 minutes dans la colonnes 3 sont rangées sous leur minute correspondante dans les 6 dernières colonnes.

Je pensais définir la dernière ligne (DerLigne), faire une boucle for sur le nombre de ligne (NoLigne)

For NoLigne = 1 To DerLigne
si MINUTE(B(NoLigne))=0 then "le mettre dans la colonne C"
si MINUTE(B(NoLigne))=10 then "le mettre dans la colonne D"
etc...

Bref, je ne sais vraiment pas comment faire ça...
Des gens m'ont dit qu'on pouvait le faire en VBA, d'autre m'ont dit qu'il valait mieux utiliser Python, que je connais pas non plus :/

Si quelqu'un a une idée ou une solution, ça serait génial !! En attendant je vais me lancer dans les tuto de VBA et de Python !!

Merci d'avance :)
A voir également:

4 réponses

ccm81 Messages postés 10855 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 29 avril 2024 2 404
Modifié par ccm81 le 10/10/2015 à 15:39
Bonjour

Du moment que tu as un fichier excel, autant passer par vba
Un essai à adapter ....
http://www.cjoint.com/c/EJknKdlEMXp

Cdlmnt
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 685
10 oct. 2015 à 19:14
Bonjour,

J'arrive un peu tard car je vois que ccm81 (un grand bonjour à toi !) a déjà fait le job.
Je mets quand même mon classeur qui part de la même approche.
https://www.cjoint.com/c/EJkrkd3MiMl
et en ancienne version : https://www.cjoint.com/c/EJkrmO1xHPl
0
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 337
11 oct. 2015 à 07:00
Bonjour cm81 et gbinforme
Je m'avance un peu, mais, je voudrais apporter une petite remarque concernant votre travail, vous avez eu la même approche qui semble correcte, mais sauf erreur de ma part, pas pour les mois de mars et d'octobre(changement d'heure le dernier dimanche du mois) en mars on passe de 1 h à 3h, ce qui fait
1h00 - 1h10 - 1h20 -1h30 -1h40 - 1h50
3h00 - 3h10 - 3h20 - 3h30 - 3h40 -3h50

il manque donc l'heure entière de 2h du matin.
En octobre on rajoute 1 h, nous avons donc 2 fois 2h ce qui fait
1h00 - 1h10 - 1h20 -1h30 -1h40 - 1h50
2h00 - 2h10 - 2h20 - 2h30 - 2h40 -2h50
2h00 - 2h10 - 2h20 - 2h30 - 2h40 -2h50
3h00 - 3h10 - 3h20 - 3h30 - 3h40 -3h50
Tout ceci induit un décalage des relevés suivants.
Mais peut-être que les relevés du demandeur "DebutantEnCode" ne tiennent pas compte de ces cas particuliers.
Je vous souhaite un bonne journée et excusez-moi pour mon intrusion.
cordialement
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 685
11 oct. 2015 à 09:12
Bonjour Frenchie83,

Ton analyse est judicieuse mais je ne suis pas sûr que l'on est à en tenir compte.
Le classeur qui a été enregistré, sans doute par un automate, comporte des heures d'enregistrement et ce sont celles-là qui sont ventilées : soit l'automate se met à l'heure automatiquement, soit ses heures sont décalées mais si tu ne donnes pas l'indication, tu n'es pas en mesure de corriger quoique ce soit car si les heures sont déjà rectifiées tu ne pourras que les fausser.
Bonne journée à tous.
0
DebutantEnCode Messages postés 2 Date d'inscription vendredi 9 octobre 2015 Statut Membre Dernière intervention 12 octobre 2015
12 oct. 2015 à 09:57
Bonjour ccm81, gbinforme et Frenchie83,

Merci pour votre aide ! Je vais pouvoir étudier cette macro et apprendre à reformater les données maintenant. Ca va me resservir, j'ai plusieurs fichiers du type avec parfois des points 30 min à remettre dans le même format etc...
@Frenchie83: bien vu pour les changements d'horaires, mais en effet les points relevés toutes les 10 min prennent en compte le décalage et le décalage sur un an n'apparait pas !

Bonne journée à tous, et merci encore pour votre efficacité :)
0