Bonjour,
Je réalise un fichier Excel pour mon club de sport, qui va permettre de sélectionner les sportifs qui correspondent à la bonne catégorie d’Age. J'utilise une macro car j'aimerais ensuite pouvoir envoyer cette liste par mail sans avoir à appliquer le filtre manuellement.
Je souhaite obtenir la liste des sportifs étant nés entre 1960 et 2000.
J'ai donc réalisé une boucle qui va remplir un array avec toutes les années entre 1960 et 2000
J'applique ensuite mon filtre à mon document :
A l'exécution, voici l'erreur que j’obtiens :
Quelqu'un pourrait me dire à quoi correspond cette erreur et comment la résoudre ?
Précision : Il n'y a pas de membres de l'année 1961 ni 1962 ni 1975
Précision 2 : Avant la boucle For, j'applique deux filtres sur le document, sans erreur:
Autre question : plutôt que de créer un array contenant toutes les dates entre 1960 et 2000, ne serait-il pas plus simple de récupérer les années de naissances de tous les membres, de coller les années dans un array (en enlevant des années qui ne nous intéressent pas) et appliquer ensuite le filtre ? Si oui, comment faire pour récupérer la liste des dates de naissances des membres ?
J'espère ne pas avoir été trop confus dans mes explications
Merci
Je réalise un fichier Excel pour mon club de sport, qui va permettre de sélectionner les sportifs qui correspondent à la bonne catégorie d’Age. J'utilise une macro car j'aimerais ensuite pouvoir envoyer cette liste par mail sans avoir à appliquer le filtre manuellement.
Je souhaite obtenir la liste des sportifs étant nés entre 1960 et 2000.
J'ai donc réalisé une boucle qui va remplir un array avec toutes les années entre 1960 et 2000
VB:
For k = DateBasse To DateHaute
TailleListeDates = UBound(ListeDates, 1)
ReDim Preserve ListeDates(0 To TailleListeDates + 1) As Variant
If Int(ListeDates(TailleListeDates)) = 0 Then
ListeDates(TailleListeDates) = k
Else
ListeDates(TailleListeDates + 1) = k
End If
Next k
J'applique ensuite mon filtre à mon document :
VB:
ActiveSheet.Range("$A$3:$AH$351").AutoFilter Field:=34, Criteria1:=ListeDate, Operator:=xlFilterValues
A l'exécution, voici l'erreur que j’obtiens :
Code:
Erreur d'exécution '-2147417848(80010108)'
Erreur Automation
L'objet invoqué s'est déconnecté de ses clients.
Quelqu'un pourrait me dire à quoi correspond cette erreur et comment la résoudre ?
Précision : Il n'y a pas de membres de l'année 1961 ni 1962 ni 1975
Précision 2 : Avant la boucle For, j'applique deux filtres sur le document, sans erreur:
VB:
ActiveSheet.Range("$A$3:$AH$349").AutoFilter Field:=29, Criteria1:= _
"Activités de Compétitions sportives"
ActiveSheet.Range("$A$3:$AH$349").AutoFilter Field:=29, Criteria1:= _
"F"
Autre question : plutôt que de créer un array contenant toutes les dates entre 1960 et 2000, ne serait-il pas plus simple de récupérer les années de naissances de tous les membres, de coller les années dans un array (en enlevant des années qui ne nous intéressent pas) et appliquer ensuite le filtre ? Si oui, comment faire pour récupérer la liste des dates de naissances des membres ?
J'espère ne pas avoir été trop confus dans mes explications
Merci
Dernière édition: