Lister des horaires avec sens E ou S
Bonsoir,
Je reviens sur une de mes précédentes demandes ou 'Papou' avait élaboré une macro pour y répondre.
Malgré ses explications, j'ai essayé de modifier la macro pour répondre à ma nouvelle demande :
Lister dans l'onglet Feuil2 les horaires après 10:00 pour la première ligne avec un E et avant 15:30 pour la dernière ligne avec un S avec le nom + date (j'ai surligné en jaune les données que la macro doit retrouver)
Sans succès, trop complexe pour moi.
Je vous remercie par avance pour votre aide.
Bonne soirée
Bonjour daewoo41
J'ai édité votre post pour mettre un titre explicite et le libellé de votre demande
Merci de faire la même chose la prochaine fois SVP
Nota : vous pourriez faire du ménage (supprimer les nombreux commentaires) dans votre fichier, ça ne donne pas envie
Bonjour BrunoM45,
C'est noté.
Les commentaires sont de 'Papou' qui avait détaillé la macro pour que je la comprenne. Je les ai laissé pensant que ça pourrait aider. C'est vrai que c'est inbuvable tout ce texte... . Et malgré les explications impossible pour moi de la modifier, trop complexe.
Merci à vous.
bonjour,
l'idée, c'est le même que "Papou", mais j'espère que l'expliqation est mieux et on utilise un tableau.
Maintenant votre problème de hier, c'est assez difficile pour créer une condition true/false.
On a 2 options,
- oubien on crée tout la liste et on ajoute une 8ième colonne avec des formules et on filtre la dessus.
- oubien on crée une condition vrai/faux dans VBA et on ajoute juste les données qui correspondent.
Dans l'annexe vous avez le choix, mais je pense que vous prefererez la première avec formules (que vous pouvez changer a tout moment).
La condition dans VBA est cette ligne.
'***********créer une condition b1 comme décrit votre question ****************************************************************************************************
b1 = False Or bTout: If b And i > 7 Then b1 = ((C.Offset(, 1).Value = "E" And C.Offset(, 2).Value >= TimeSerial(10, 0, 0)) Or (C.Offset(, 1).Value = "S" And C.Offset(, 2).Value <= TimeSerial(15, 30, 0))) ' boolean, on veut seulement ces lignes
Merci beaucoup BsAlv pour la réponse.
Si je comprends bien pour l'option 1 il faut créer le tableau de A à Z. Le problème c'est que les données du premier onglet proviennent d'un fichier html que je dois copier sur excel et il y a beaucoup beaucoup de lignes.
Si c'est vraiment ça l'option 2 est souhaitable... .
Merci encore
re,
vous avez déjà essayé avec beaucoup de lignes, normallement cela ne causera pas de problèmes.
La seule différence entre 1 et 2, c'est qu'avec "tout", si vous arrêtez de filtrer, vous voyez encore toutes les données.
Il faut une fois essayer les 2.
ok merci, je vais essayer ça et vous tiens informé du résultat.
Bonne soirée
Bonjour,
Merci BsAlv ça fonctionne.
Désolé pour la réponse tardive.
Bonne soirée