IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Filtrer par une macro


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Alternant en logistique
    Inscrit en
    Juin 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Alternant en logistique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 5
    Par défaut Filtrer par une macro
    Bonjour à tous,

    Je suis en train de créer un fichier excel avec des macro pour automatiser ma procédure et je bloque sur un point.

    Je souhaite pouvoir filtrer la colonne semaine de manière à obtenir mon besoin de S à S+2 (exemple : On est en semaine 23, je voudrais sélectionner les semaines 23, 24 et 25)

    En enregistrant la macro et retravaillant le code voici ce que j'ai obtenu :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub Filtre()
     
    Dim S As Integer
     
    'On demande à l'utilisateur d'indiquer à partir de quelle semaine il veut analyser son besoin
    S = Application.InputBox("A partir de quelle semaine voulez vous analyser les besoins ?", "Saisie semaine", Type:=1)
     
    'On filtre la colonne semaine de S à S+2
    ActiveSheet.Range("A7:I350").AutoFilter Field:=1, Criteria1:=Array(S, S + 1, S + 2)
     
    End Sub
    Mais quand je lance la macro il ne sélectionne que S+2, alors que cela fonctionne très bien quand je lance la macro que j'ai enregistré :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Range("A7:I350").AutoFilter Field:=1, Criteria1:=Array("24", "25", "26")
    Est ce que vous auriez des pistes pour pallier à mon problème ?

    Merci d'avance !

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    il faut :

    - utiliser du type String dans ton array
    - renseigner le paramètre Operator en xlFilterValues

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub Filtre()
    Dim S As Integer
        'On demande à l'utilisateur d'indiquer à partir de quelle semaine il veut analyser son besoin
        S = Application.InputBox("A partir de quelle semaine voulez vous analyser les besoins ?", "Saisie semaine", Type:=1)
     
        'On filtre la colonne semaine de S à S+2
        ActiveSheet.Range("A7:I350").AutoFilter Field:=1, Criteria1:=Array(CStr(S), CStr(S + 1), CStr(S + 2)), Operator:=xlFilterValues
    End Sub

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Alternant en logistique
    Inscrit en
    Juin 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Alternant en logistique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 5
    Par défaut
    La solution fonctionne.

    Merci beaucoup !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Imprimer un graph par une macro
    Par man_coef dans le forum Général VBA
    Réponses: 2
    Dernier message: 10/10/2006, 11h28
  2. Réponses: 3
    Dernier message: 14/04/2006, 10h43
  3. lancer une sub par une macro
    Par ganizate dans le forum Access
    Réponses: 2
    Dernier message: 04/04/2006, 15h01
  4. [formulaire] filtrer par une combobox
    Par Marie D dans le forum Access
    Réponses: 8
    Dernier message: 19/09/2005, 15h14
  5. [Excel] Utiliser une application externe par une macro
    Par thierry2.dlp dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/08/2005, 22h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo