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 :

déclarer une macro


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 12
    Par défaut déclarer une macro
    Je débute et j'ai besoins d'aide .
    J'ai une macro que l'on m'a donnée.

    comment la déclarer sous excel en ouvrant macro / nouvelle macro:

    la voici : il faut que je la passe en public mais je ne sais pas où ou la renommer mais rien ne fonctionne , je fais des essais mais rien tout est bloqué

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
        Dim Recherche As String
        Recherche = Target.Value
        Sheets("Liste").Activate
        Sheets("Liste").Range("B1").Select
        Selection.AutoFilter Field:=2, Criteria1:=Recherche
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Retour()
        Sheets("Liste").Activate
        Sheets("Liste").Range("B1").Select
    merci d'acance

  2. #2
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    SAlut
    Si tu nous expliqué plutôt ce que tu souhaite faire, par ce que la macro que tu donne n'a pas a être "modifiée" pour fonctionner, ce code doit être placer dans l'événement BeforeDoubleClick.
    Dans VBA (outil->Macro->Visual Basic Editor)
    Tu dois avoir une fenêtre avec tous tes onglet (si c'est pas le cas tu fait Affichage->Explorateur de fichier)
    Tu doubles clique sur la feuil ou tu veux travailler
    Une fenêtre s'ouvre avec 2 liste déroulante dans sa partie haute
    Dans la 1er liste tu sélectionnes Worksheet
    Dans la 2eme tu sélectionnes BeforeDoubleClick
    Voila ton code doit etre saisi ici .

    Si ça ne répond pas a ta question, développe plus ta demande

    A++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  3. #3
    Membre averti
    Inscrit en
    Février 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 12
    Par défaut
    En Effêt ça correspond tout à fait à ma demande , par contre sais-tu comment fonctionne la notion et dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.AutoFilter Field:=2, Criteria1:=Recherche
    .

    Recherche est ma feuille déclarée mais c'est surtout sur le principe du fonctionnement de l'ensemble.
    merci

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 453
    Par défaut
    Dans la méthode AutoFilter d'un objet Range, l'argument Field doit être un numéro qui représente la colonne relative qui doit être filtrée. Par exemple, si tu précises 1 comme valeur à Field, la première colonne du Range sera celle sur laquelle sera placé le filtre.

    L'argument Criteria1 est une chaîne de caractères qui indique une condition pour le filtre. Si, par exemple, tu donnes "<8" et que la colonne correspondant à Field contient de nombres, la méthode filtrera la Range en ne montrant que les lignes dont la colonne filtrée a une valeur plus petite que 8.

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 572
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 572
    Par défaut
    Attention
    Citation Envoyé par flaurence
    Recherche est ma feuille déclarée mais c'est surtout sur le principe du fonctionnement de l'ensemble.
    dans ton code, ce n'est pas vrai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim Recherche As String
        Recherche = Target.Value
        Sheets("Liste").Activate
        Sheets("Liste").Range("B1").Select
        Selection.AutoFilter Field:=2, Criteria1:=Recherche

    recherche represente la valeur de la cellule selectionnée (target)

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Mon grain de sel...
    Range représente un objet cellule ou plage de cellules
    Tu peux en obtenir la valeur, ou les coordonnées dans la feuille
    Target représente "l'objet" cellule active.
    De la même manière tu peux en obtenir :
    - la valeur -> = Target
    - la ligne -> = Target.row
    - la colonne -> = Target.column
    ou l'adresse -> = Target.address

    Juste parce que ce n'est pas évident quand on débute
    Bon courage

Discussions similaires

  1. [XL-2010] Déclarer résultat d'une macro comme public
    Par 8e8eClo dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/01/2012, 12h31
  2. Déclarer une matrice
    Par joy dans le forum C
    Réponses: 7
    Dernier message: 09/12/2002, 01h42
  3. [VBA-E] [Excel] Lancer une macro à une heure donnée
    Par Lysis dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/10/2002, 13h15
  4. Qu'est-ce qu'une macro ?
    Par karli dans le forum Assembleur
    Réponses: 2
    Dernier message: 01/09/2002, 04h38
  5. Réponses: 2
    Dernier message: 22/07/2002, 13h13

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