Filtrage horaire
Résolu/Fermé
Luke94
Messages postés
61
Date d'inscription
jeudi 22 novembre 2012
Statut
Membre
Dernière intervention
13 novembre 2023
-
22 nov. 2012 à 21:35
Luke94 Messages postés 61 Date d'inscription jeudi 22 novembre 2012 Statut Membre Dernière intervention 13 novembre 2023 - 2 déc. 2012 à 22:14
Luke94 Messages postés 61 Date d'inscription jeudi 22 novembre 2012 Statut Membre Dernière intervention 13 novembre 2023 - 2 déc. 2012 à 22:14
A voir également:
- Le fuseau horaire ne peut pas être défini manuellement en raison des restrictions de l'appareil
- Appareil connecté facebook - Guide
- Cette valeur ne correspond pas aux restrictions de validation des données pour cette cellule ✓ - Forum MacOS
- Identifier appareil avec adresse mac - Guide
- Comment retrouver un appareil bluetooth dissocier ✓ - Forum Bluetooth
7 réponses
Raymond PENTIER
Messages postés
58747
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
4 décembre 2024
17 248
22 nov. 2012 à 21:48
22 nov. 2012 à 21:48
Bonjour.
Objectif 1 :
Avec le texte "13:20A" aligné à gauche en A10, tu obtiendras la valeur numérique en B10 avec la formule =CNUM(GAUCHE(A10;5)) qui affichera le résultat 0,5555556 aligné à droite.
Et pour le lire au format habituel, il suffit de mettre la colonne B au format de cellule Nombre/Heure/13:30 qui affichera 13:20 aligné à droite.
Cordialement.
Objectif 1 :
Avec le texte "13:20A" aligné à gauche en A10, tu obtiendras la valeur numérique en B10 avec la formule =CNUM(GAUCHE(A10;5)) qui affichera le résultat 0,5555556 aligné à droite.
Et pour le lire au format habituel, il suffit de mettre la colonne B au format de cellule Nombre/Heure/13:30 qui affichera 13:20 aligné à droite.
Cordialement.
eriiic
Messages postés
24601
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 novembre 2024
7 244
22 nov. 2012 à 23:46
22 nov. 2012 à 23:46
Bonsoir,
en VBA.
Le filtre reste fonctionnel mais il faudra le réappliquer si tu veux faire apparaitre les lignes masquées auparavant.
La prochaine fois dépose un fichier de travail...
https://www.cjoint.com/?BKwxSy0HAgP
eric
en VBA.
Le filtre reste fonctionnel mais il faudra le réappliquer si tu veux faire apparaitre les lignes masquées auparavant.
La prochaine fois dépose un fichier de travail...
https://www.cjoint.com/?BKwxSy0HAgP
eric
Luke94
Messages postés
61
Date d'inscription
jeudi 22 novembre 2012
Statut
Membre
Dernière intervention
13 novembre 2023
23 nov. 2012 à 18:12
23 nov. 2012 à 18:12
Bonsoir,
tout d'abord merci à vous deux pour vos solutions qui font bien avancer mon problème !
Maintenant, comme je débute en macro, j'ai quelques questions... :
En effet, je ne connais pas les "private sub" mais seulement les macros simples qui me permette ensuite d'affecter la macro à un bouton... C'est pourquoi, j'ai un peu de mal à adapter le fichier que tu m'as envoyé à mon fichier. Du coup, j'aimerai bien joindre mon fichier en pièce jointe mais je n'y parviens pas... Pourriez vous m'indiquer comment faire ?
Comme pour pourrez le voir, j'ai un bouton de nettoyage pour mettre les données brutes au bon format (je l'ai effacé pour garder un fichier simple) mais je voudrais pouvoir ajouter à ma macro l'enlèvement du suffixe "A" pour avoir une seule action me permettant la convertion et ce nettoyage...
De plus, les données brutes de la colonne A, une fois nettoyées doivent rester dans la colonne A... Je ne peux donc pas avoir une autre colonne gardant les horaires brutes 13:00A...
A nouveau, merci d'avance de m'aider à nouveau dans ma formation !
tout d'abord merci à vous deux pour vos solutions qui font bien avancer mon problème !
Maintenant, comme je débute en macro, j'ai quelques questions... :
En effet, je ne connais pas les "private sub" mais seulement les macros simples qui me permette ensuite d'affecter la macro à un bouton... C'est pourquoi, j'ai un peu de mal à adapter le fichier que tu m'as envoyé à mon fichier. Du coup, j'aimerai bien joindre mon fichier en pièce jointe mais je n'y parviens pas... Pourriez vous m'indiquer comment faire ?
Comme pour pourrez le voir, j'ai un bouton de nettoyage pour mettre les données brutes au bon format (je l'ai effacé pour garder un fichier simple) mais je voudrais pouvoir ajouter à ma macro l'enlèvement du suffixe "A" pour avoir une seule action me permettant la convertion et ce nettoyage...
De plus, les données brutes de la colonne A, une fois nettoyées doivent rester dans la colonne A... Je ne peux donc pas avoir une autre colonne gardant les horaires brutes 13:00A...
A nouveau, merci d'avance de m'aider à nouveau dans ma formation !
eriiic
Messages postés
24601
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 novembre 2024
7 244
23 nov. 2012 à 18:38
23 nov. 2012 à 18:38
Bonjour,
Tout Sub peut être Private : il ne peut pas être appelé autrement que par un autre Sub du module et n'apparait donc pas dans la liste des macro qu'on peut lancer d'une feuille.
Private Sub Worksheet_Change ne peut pas s'appeler autrement et doit être dans un module de feuille.
C'est la gestion des évènements.
Celui-ci se trouve appelé à chaque saisie manuelle dans une cellule.
Dans un module de feuille de VBE choisis Worksheet dans la liste déroulante de gauche (en haut). Dans celle de droite tu as tous les évènements d'une feuille.
Déposer le fichier xls (réduit au nécessaire et anonymisé) sur cjoint.com et coller ici le lien fourni.
eric
Tout Sub peut être Private : il ne peut pas être appelé autrement que par un autre Sub du module et n'apparait donc pas dans la liste des macro qu'on peut lancer d'une feuille.
Private Sub Worksheet_Change ne peut pas s'appeler autrement et doit être dans un module de feuille.
C'est la gestion des évènements.
Celui-ci se trouve appelé à chaque saisie manuelle dans une cellule.
Dans un module de feuille de VBE choisis Worksheet dans la liste déroulante de gauche (en haut). Dans celle de droite tu as tous les évènements d'une feuille.
Déposer le fichier xls (réduit au nécessaire et anonymisé) sur cjoint.com et coller ici le lien fourni.
eric
Luke94
Messages postés
61
Date d'inscription
jeudi 22 novembre 2012
Statut
Membre
Dernière intervention
13 novembre 2023
27 nov. 2012 à 22:41
27 nov. 2012 à 22:41
Bonsoir,
désolé pour ces quelques jours d'absence en raison d'un stage à l'étranger sans internet...
Je reprends donc ce soir mes questions... En effet, grâce au fichier que tu m'as envoyé, j'ai pu grandement avancer dans mon projet et adapter le vba à mon besoin en déployant des macros associées à des boutons.
J'arrive donc maintenant à :
- convertir mes données brutes
- enlever le suffixe A
- appliquer le filtrage horaire
Il me reste malheureusement un souci... Lorsque j'ai fait ce filtre horaire, j'ai ensuite besoin de filtrer (de manière simple) les données de la colonne H (Pierre, Paul et Jacques dans ton exemple). Or, qu'en j'applique ce filtre simple, tout le calcul se refait et je perd donc mon filtrage horaire...
J'ai bien pensé à recopier les données obtenues pour les recoller par dessus et ensuite appliquer ce filtre simple mais le souci c'est que je dois pouvoir revenir en arrière à tout moment pour pouvoir observer les résultats de plusieurs créneaux horaires...
Aurais tu une astuce pour pouvoir appliquer ce filtre simple après le filtre horaire et donc seulement sur les lignes encore visibles ?
Merci encore d'avance pour tes précieux conseils !
désolé pour ces quelques jours d'absence en raison d'un stage à l'étranger sans internet...
Je reprends donc ce soir mes questions... En effet, grâce au fichier que tu m'as envoyé, j'ai pu grandement avancer dans mon projet et adapter le vba à mon besoin en déployant des macros associées à des boutons.
J'arrive donc maintenant à :
- convertir mes données brutes
- enlever le suffixe A
- appliquer le filtrage horaire
Il me reste malheureusement un souci... Lorsque j'ai fait ce filtre horaire, j'ai ensuite besoin de filtrer (de manière simple) les données de la colonne H (Pierre, Paul et Jacques dans ton exemple). Or, qu'en j'applique ce filtre simple, tout le calcul se refait et je perd donc mon filtrage horaire...
J'ai bien pensé à recopier les données obtenues pour les recoller par dessus et ensuite appliquer ce filtre simple mais le souci c'est que je dois pouvoir revenir en arrière à tout moment pour pouvoir observer les résultats de plusieurs créneaux horaires...
Aurais tu une astuce pour pouvoir appliquer ce filtre simple après le filtre horaire et donc seulement sur les lignes encore visibles ?
Merci encore d'avance pour tes précieux conseils !
eriiic
Messages postés
24601
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 novembre 2024
7 244
27 nov. 2012 à 23:20
27 nov. 2012 à 23:20
Bonsoir,
Toujours joindre un fichier.
Déposer le fichier xls (réduit au nécessaire et anonymisé) sur cjoint.com et coller ici le lien fourni.
eric
Toujours joindre un fichier.
Déposer le fichier xls (réduit au nécessaire et anonymisé) sur cjoint.com et coller ici le lien fourni.
eric
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Luke94
Messages postés
61
Date d'inscription
jeudi 22 novembre 2012
Statut
Membre
Dernière intervention
13 novembre 2023
28 nov. 2012 à 14:22
28 nov. 2012 à 14:22
Bonjour Eric,
comme demandé, le fichier en question :
https://www.cjoint.com/?3KCoucSQhAX
Merci d'avance !
comme demandé, le fichier en question :
https://www.cjoint.com/?3KCoucSQhAX
Merci d'avance !
eriiic
Messages postés
24601
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 novembre 2024
7 244
28 nov. 2012 à 17:41
28 nov. 2012 à 17:41
Re,
Tu aurais pu y mettre le code. Ca m'aurait évité de reprendre la lecture de tous les posts pour me rappeler, retrouver le code, le mettre et l'adapter à ton fichier....
J'ai fait au mieux en fonction de ton utilisation, mais tu demandes des choses incompatibles.
Il faut faire des choix :
si tu changes l'horaire en E2,G2 avec un filtre X actif le résultat sera faux tant que tu n'aura pas repris le filtre X.
D'autre part un changement de filtre n'est pas détectable en vba.
Je triche en mettant un sous.total en A3, et dans l'évènement calculate je regarde s'il change.
Je pars du principe que tu as des horaires tous différents en A. Leur somme seras toujours différentes selon les lignes visibles.
Si il y a 2 horaires identiques le rafraichissement ne se fera pas. Dans ce cas ajoute une colonne avec =ligne() dedans et fais le sous.total dessus.
Si tu déplaces ce sous.total adapter le code.
https://www.cjoint.com/?BKCrNsrNBQ2
eric
Tu aurais pu y mettre le code. Ca m'aurait évité de reprendre la lecture de tous les posts pour me rappeler, retrouver le code, le mettre et l'adapter à ton fichier....
J'ai fait au mieux en fonction de ton utilisation, mais tu demandes des choses incompatibles.
Il faut faire des choix :
si tu changes l'horaire en E2,G2 avec un filtre X actif le résultat sera faux tant que tu n'aura pas repris le filtre X.
D'autre part un changement de filtre n'est pas détectable en vba.
Je triche en mettant un sous.total en A3, et dans l'évènement calculate je regarde s'il change.
Je pars du principe que tu as des horaires tous différents en A. Leur somme seras toujours différentes selon les lignes visibles.
Si il y a 2 horaires identiques le rafraichissement ne se fera pas. Dans ce cas ajoute une colonne avec =ligne() dedans et fais le sous.total dessus.
Si tu déplaces ce sous.total adapter le code.
https://www.cjoint.com/?BKCrNsrNBQ2
eric
Luke94
Messages postés
61
Date d'inscription
jeudi 22 novembre 2012
Statut
Membre
Dernière intervention
13 novembre 2023
28 nov. 2012 à 21:46
28 nov. 2012 à 21:46
Bonsoir,
tout d'abord, désolé pour tout le mal que tu t'es donné et sans doute le temps perdu..., en effet, j'ai essayé d'adapter au mieux l'ensemble de tes conseils pour tenter de comprendre et surtout d'apprendre,...
Félicitations pour ton fichier qui répond entièrement à mon besoin. En effet, je commence d'abord par changer les horaires et ensuite je peux appliquer le filtre actif X.
Merci encore pour ce fichier qui va énormément me servir !
tout d'abord, désolé pour tout le mal que tu t'es donné et sans doute le temps perdu..., en effet, j'ai essayé d'adapter au mieux l'ensemble de tes conseils pour tenter de comprendre et surtout d'apprendre,...
Félicitations pour ton fichier qui répond entièrement à mon besoin. En effet, je commence d'abord par changer les horaires et ensuite je peux appliquer le filtre actif X.
Merci encore pour ce fichier qui va énormément me servir !
eriiic
Messages postés
24601
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 novembre 2024
7 244
28 nov. 2012 à 23:16
28 nov. 2012 à 23:16
D'ailleurs j'ai dit des bétises, Si tu ajoutes une colonne pour le sommeprod() il n'est pas plus sûr à 100% que la somme change pour détecter le changement de filtre.
De toute façon tu verras vite que le filtre sur les heures ne s'est pas déclenché. Donc laisse la somme sur les heures.
N'oublie pas de mettre en résolu stp
eric
De toute façon tu verras vite que le filtre sur les heures ne s'est pas déclenché. Donc laisse la somme sur les heures.
N'oublie pas de mettre en résolu stp
eric
Luke94
Messages postés
61
Date d'inscription
jeudi 22 novembre 2012
Statut
Membre
Dernière intervention
13 novembre 2023
2 déc. 2012 à 22:14
2 déc. 2012 à 22:14
Bonsoir,
en effet, les horaires sont toujours différents car j'ai justement besoin de faire le calcul sur une plage horaire donnée. Donc pas besoin d'ajouter une colonne.
Merci encore et bonne soirée !
en effet, les horaires sont toujours différents car j'ai justement besoin de faire le calcul sur une plage horaire donnée. Donc pas besoin d'ajouter une colonne.
Merci encore et bonne soirée !