A voir également:
- Filtre automatique Excel et VBA
- Word et excel gratuit - Guide
- Photo filtre 7 gratuit - Télécharger - Retouche d'image
- Liste déroulante excel - Guide
- Réponse automatique thunderbird - Guide
- Si et excel - Guide
5 réponses
bonjour
Essaie avec cette syntaxe :
Selection.AutoFilter Field:=6, Criteria1:="<=" & vadate, Operator:=xlAnd
Essaie avec cette syntaxe :
Selection.AutoFilter Field:=6, Criteria1:="<=" & vadate, Operator:=xlAnd
La solution est sur ce site:
https://www.ozgrid.com/News/aug-2006.htm paragraphe: " PASSING THE DATE TO A LONG VARIABLE "
En gros, il faut passer par une date au format "Long"
en utilisant DateSerial( year, month, day)
Je devais faire un filtre sur la date du jour du système et je rencontrais le meme genre de problème que vous....
Maintenant ca fonctionne ! :D
https://www.ozgrid.com/News/aug-2006.htm paragraphe: " PASSING THE DATE TO A LONG VARIABLE "
En gros, il faut passer par une date au format "Long"
en utilisant DateSerial( year, month, day)
Je devais faire un filtre sur la date du jour du système et je rencontrais le meme genre de problème que vous....
Maintenant ca fonctionne ! :D
Bonjour,
Moi, j'ai le meme problème sauf que je désire trier sur une colonne qui contient des prénoms par exemple "arnaud" donc une colonne qui contient que des strings.
Dans mon code la variable St est un string mais ca ne marche pas, la variable est vide dans :
ActiveSheet.Range("$B$11:$K$31").AutoFilter Field:=6, Criteria1:= _
"St"
Private Sub Workbook_Open()
Dim St As String
St = "arnaud"
Sheets("Miss. inputs").Select
Range("B11:K11").Select
Selection.AutoFilter
ActiveSheet.Range("$B$11:$K$31").AutoFilter Field:=6, Criteria1:= _
"St"
End Sub
Je vous remercie de m'aider si vous pouvez.
cordialement,
Moi, j'ai le meme problème sauf que je désire trier sur une colonne qui contient des prénoms par exemple "arnaud" donc une colonne qui contient que des strings.
Dans mon code la variable St est un string mais ca ne marche pas, la variable est vide dans :
ActiveSheet.Range("$B$11:$K$31").AutoFilter Field:=6, Criteria1:= _
"St"
Private Sub Workbook_Open()
Dim St As String
St = "arnaud"
Sheets("Miss. inputs").Select
Range("B11:K11").Select
Selection.AutoFilter
ActiveSheet.Range("$B$11:$K$31").AutoFilter Field:=6, Criteria1:= _
"St"
End Sub
Je vous remercie de m'aider si vous pouvez.
cordialement,
Bonsoir,
Tu aurais dû créer ton sujet au lieu de venir dans une vieille discussion.
Quand tu défini une variable (st) il faut ensuite l'utiliser car en codant Criteria1:= "St" tu ne recherche pas "arnaud" mais "St" ! Ceci devrait être plus adapté :
Tu aurais dû créer ton sujet au lieu de venir dans une vieille discussion.
Quand tu défini une variable (st) il faut ensuite l'utiliser car en codant Criteria1:= "St" tu ne recherche pas "arnaud" mais "St" ! Ceci devrait être plus adapté :
ActiveSheet.Range("$B$11:$K$31").AutoFilter Field:=6, Criteria1:= St
Merci gbinforme,
J'ai modifié le code selon vos indications et le conenu de la variable est transférée correctement dans le filtre personnalisé.
Toutefois, Excel ne reconnaît pas le contenu de la variable. Aucune ligne n'est sélectionnée. Par contre, si je saisi manuellement
la même date, cela fonctionne.
Je ne comprend pas pourquoi Excel refuse de reconnaître le contenu de la variable.
Pourtant, si je fais un test dans le code avec IsDate, le résultat est "vrai".
Merci pour votre aide
J'ai modifié le code selon vos indications et le conenu de la variable est transférée correctement dans le filtre personnalisé.
Toutefois, Excel ne reconnaît pas le contenu de la variable. Aucune ligne n'est sélectionnée. Par contre, si je saisi manuellement
la même date, cela fonctionne.
Je ne comprend pas pourquoi Excel refuse de reconnaître le contenu de la variable.
Pourtant, si je fais un test dans le code avec IsDate, le résultat est "vrai".
Merci pour votre aide
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bonjour
a priori, cela vient certainement du format de ta variable, texte au lieu de numérique ou l'inverse : essaies de regarder dans cette direction lorsque tu valorises la variable.
essaies peut-être : vadate = format(DateValue(txtdatelimite),"dd/mm/yyyy") (attention je n'ai pas testé, cela dépend de tes données !)
a priori, cela vient certainement du format de ta variable, texte au lieu de numérique ou l'inverse : essaies de regarder dans cette direction lorsque tu valorises la variable.
essaies peut-être : vadate = format(DateValue(txtdatelimite),"dd/mm/yyyy") (attention je n'ai pas testé, cela dépend de tes données !)