Excel VBA et macro pour filtre automatique
tindette
-
thev Messages postés 1986 Date d'inscription Statut Membre Dernière intervention -
thev Messages postés 1986 Date d'inscription Statut Membre Dernière intervention -
Bonjour et bonne année à tous,
J'ai un fichier que je souhaite filtrer selon une valeur contenue dans la cellule B9 de l'onglet Menu.
La formule Worksheets("Menu").Range("B9").Value me renvoie bien la valeur que je veux.
Worksheets("Menu").Range("B9").Value est bien du type String (j'ai vérifié avec VarType).
Mais le programme ci-dessous me renvoie l'erreur "objet requis" dès que j'ajoute la ligne du Set poste sans me préciser la ligne concernée, il se met sur la première (sub macro3()).
Pourquoi cette erreur? Comment y remédier?
Sub Macro3()
Dim poste As String
' test ci-dessous OK
MsgBox Worksheets("Menu").Range("B9").Value
Set poste = Worksheets("Menu").Range("B9").Value
MsgBox poste
Selection.AutoFilter Field:=5, Criteria1:="& poste &"
End Sub
Pouvez-vous m'aider?
Merci d'avance.
J'ai un fichier que je souhaite filtrer selon une valeur contenue dans la cellule B9 de l'onglet Menu.
La formule Worksheets("Menu").Range("B9").Value me renvoie bien la valeur que je veux.
Worksheets("Menu").Range("B9").Value est bien du type String (j'ai vérifié avec VarType).
Mais le programme ci-dessous me renvoie l'erreur "objet requis" dès que j'ajoute la ligne du Set poste sans me préciser la ligne concernée, il se met sur la première (sub macro3()).
Pourquoi cette erreur? Comment y remédier?
Sub Macro3()
Dim poste As String
' test ci-dessous OK
MsgBox Worksheets("Menu").Range("B9").Value
Set poste = Worksheets("Menu").Range("B9").Value
MsgBox poste
Selection.AutoFilter Field:=5, Criteria1:="& poste &"
End Sub
Pouvez-vous m'aider?
Merci d'avance.
A voir également:
- Excel VBA et macro pour filtre automatique
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- 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
2 réponses
"Worksheets("Menu").Range("B9").Value" n'est pas un objet . L'objet est : "Worksheets("Menu").Range("B9")" , "value" est une propriété de cet objet. Donc 2 possibilités :
1- soit créer l'objet "poste" avec l'instruction : set poste = Worksheets("Menu").Range("B9")
Selection.AutoFilter Field:=5, Criteria1:=poste.value
2- soit créer une variable "poste" avec l'instruction poste = Worksheets("Menu").Range("B9") .value
Selection.AutoFilter Field:=5, Criteria1:=poste
1- soit créer l'objet "poste" avec l'instruction : set poste = Worksheets("Menu").Range("B9")
Selection.AutoFilter Field:=5, Criteria1:=poste.value
2- soit créer une variable "poste" avec l'instruction poste = Worksheets("Menu").Range("B9") .value
Selection.AutoFilter Field:=5, Criteria1:=poste