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 :

extraction de données filtrer fonction array dans macro [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    lille 2
    Inscrit en
    Juin 2015
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : lille 2

    Informations forums :
    Inscription : Juin 2015
    Messages : 60
    Points : 28
    Points
    28
    Par défaut extraction de données filtrer fonction array dans macro
    Bonjour à toutes et à tous,

    je suis nouveau sur le site. J'ai un petit problème de compréhension.

    je bloquais depuis quelque temps sur un moyen d'extraire automatiquement à partir d'une base de donnée située dans une feuille 1 les éléments d'une seule colonne de cette même base filtrée à partir d'un critère située en feuille 2 où se situe un tableau dans lequel je collerai dans la première colonne du tableau la plage copiée.

    Une personne sur un autre site communautaire m'a aidé et m'a proposé une solution (voir fichier ci joint).

    Le soucis c'est qu'en me plongeant dan sle code j'ai découvert une ligne / fonction que je ne connaissais pas) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    PlageS.AutoFilter Field:=8, Operator:=xlFilterValues, _ 
    Criteria2:=Array(2, Format(Range("U319"), "mm/dd/yyyy")) 
    PlageS.Resize(, 1).SpecialCells(xlCellTypeVisible).Copy
    dans cette fonction autofilter, il y a plusieurs choses que je ne comprends pas :

    - pourquoi passe t on directement au criteria2;
    - que signifie la fonction array() et quelle est sa synthaxe ?

    En effet dans le fichier que je vous ai joint j'aimerais changer la variable (choisir le gestionnaire au lieu de la date) mais si je modifie le contenu de la fonction array je crache excel.

    Par avance merci pour votre aide et vos explications.

    med_mugenEFqqueVYKTK_tri-2conditions.xls

  2. #2
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut


    Bonjour, bonjour !

    Pourquoi Criteria2 ? Seul l'auteur du code pourra répondre !
    Et pour Array c'est simple : dans le code placer le curseur texte dessus puis appuyer sur la touche


    _____________________________________________________________________________________________________
    Je suis Charlie - Je suis Bardo
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    lille 2
    Inscrit en
    Juin 2015
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : lille 2

    Informations forums :
    Inscription : Juin 2015
    Messages : 60
    Points : 28
    Points
    28
    Par défaut
    dslé Marc mais ça ne fonctionne pas. Toutefois je tenais à dire que l'auteur du code m'a apporter de nouvelles infos concernant cette fonction array, qu'il s'agit d'un tableau où l'indication "2" donne le niveau du filtre : 0 pour l'année, 1 pour le mois et 2 pour le jour)
    voilà pour les infos

    Toutefois si vous aviez des conseils pour modifier le format/type de variable et ne plus avoir une variable de type date ça m'aiderait (je recherche un format standard par exemple pour avoir une année en variable ou un gestionnaire que j'aurai choisi via une liste que j'aurai créée


    Merci d'avance à ceux et celles qui suivrait la discussion

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    lille 2
    Inscrit en
    Juin 2015
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : lille 2

    Informations forums :
    Inscription : Juin 2015
    Messages : 60
    Points : 28
    Points
    28
    Par défaut problème résolu
    ca y est j 'ai trouvé j'ai simplement remplacé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Field:=8, Operator:=xlFilterValues,  Criteria2:=Array(2, Format(Range("U319"), "mm/dd/yyyy"))
    de ma fonction autofilter par


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Field:=7, Criteria1:=Range("U319")
    où U319 est une valeur standard (ici gestion sous forme de liste)

    voilà merci à marc pour son commentaire pour sa participation a cette discussion.

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 18/01/2010, 19h22
  2. [E-97] Pb sur fonction enregistrée dans macro complémentaire
    Par babol dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 27/12/2008, 09h38
  3. Erreur fonction Excel dans macro
    Par jboul dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 03/07/2008, 15h05
  4. Réponses: 23
    Dernier message: 01/03/2007, 15h03
  5. Fonction EstNull dans macro Access
    Par joker vb dans le forum Access
    Réponses: 5
    Dernier message: 13/01/2006, 15h55

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