Bonjour,
Débutant en macro Excel, je me retrouve face à un problème abyssal comparé à mes compétences du moment. Est-ce que quelqu'un saura me faire franchir le cap?
J'ai extrait la phase qui me pose quelques problèmes dans la pièce jointe ci-dessous pour faciliter l'explication.
L'objectif recherché:
Je pars d'une colonne qui ressense des dates.
A partir d'une date entrée, je cherche à filtrer la colonne entre la date moins 8 et moins 1 jour.
L'objectif final est de compter le nombre de lignes entre ces deux dates et de retourner cette valeur comme variable.
Les problèmes:
1- Dans la partie où je filtre, je ne sais pas comment introduire les variables pour qu'elles soient comprises.
Selection.AutoFilter Field:=1, Criteria1:= "<" Date_debut, Operator:=xlOr, _
Criteria2:= ">" Date_fin
J'ai essayé de mettre des guillements un peu dans tous les sens, mais rien ne semble fonctionner. Comment gérer les "" ?...
2- Je n'ai pas trop le choix dans le type de date de la colonne de départ (jj/mm/aaaa hh:mm). Or, si je remplace Date_debut et Date_fin par des constantes type jj/mm/aaaa, la zone filtrée est vide alors qu'elle devrait comporter des éléments.
Comment dois-je gérer les formats?
3- Pour prendre un peu d'avance: Je n'ai pas encore eu trop l'occasion de me pencher sur la question du compte du nombre de ligne ainsi isolées. Je faisais avec le compeur automatique que l'on peut trouver dans la barre en bas à droite de la fenêtre Excel. Pour la macro, je pensais utiliser la fonction Nb.Si d'Excel, mais dans les Macros, je ne suis pas sûr de savoir comment appeler cette fonction. J'ai en tête un truc du genre:
Nb_Lignes = xlNb.Si(selection;"<>")
Mais je crains que cela prenne en compte même les parties masquées par le filtre.
L'idée est de trouver un moyen de faire comme le compteur.
Si quelqu'un a une solution, je suis preneur!
Regarde la pièce jointe Classeur1.zip
Merci d'avance aux âmes charitables de me tirer de cette impasse.
MJ
Débutant en macro Excel, je me retrouve face à un problème abyssal comparé à mes compétences du moment. Est-ce que quelqu'un saura me faire franchir le cap?
J'ai extrait la phase qui me pose quelques problèmes dans la pièce jointe ci-dessous pour faciliter l'explication.
L'objectif recherché:
Je pars d'une colonne qui ressense des dates.
A partir d'une date entrée, je cherche à filtrer la colonne entre la date moins 8 et moins 1 jour.
L'objectif final est de compter le nombre de lignes entre ces deux dates et de retourner cette valeur comme variable.
Les problèmes:
1- Dans la partie où je filtre, je ne sais pas comment introduire les variables pour qu'elles soient comprises.
Selection.AutoFilter Field:=1, Criteria1:= "<" Date_debut, Operator:=xlOr, _
Criteria2:= ">" Date_fin
J'ai essayé de mettre des guillements un peu dans tous les sens, mais rien ne semble fonctionner. Comment gérer les "" ?...
2- Je n'ai pas trop le choix dans le type de date de la colonne de départ (jj/mm/aaaa hh:mm). Or, si je remplace Date_debut et Date_fin par des constantes type jj/mm/aaaa, la zone filtrée est vide alors qu'elle devrait comporter des éléments.
Comment dois-je gérer les formats?
3- Pour prendre un peu d'avance: Je n'ai pas encore eu trop l'occasion de me pencher sur la question du compte du nombre de ligne ainsi isolées. Je faisais avec le compeur automatique que l'on peut trouver dans la barre en bas à droite de la fenêtre Excel. Pour la macro, je pensais utiliser la fonction Nb.Si d'Excel, mais dans les Macros, je ne suis pas sûr de savoir comment appeler cette fonction. J'ai en tête un truc du genre:
Nb_Lignes = xlNb.Si(selection;"<>")
Mais je crains que cela prenne en compte même les parties masquées par le filtre.
L'idée est de trouver un moyen de faire comme le compteur.
Si quelqu'un a une solution, je suis preneur!
Regarde la pièce jointe Classeur1.zip
Merci d'avance aux âmes charitables de me tirer de cette impasse.
MJ