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 :

Tri personnalisé qui se lance tout seul


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 21
    Par défaut Tri personnalisé qui se lance tout seul
    Bonjour,

    Je vous écris à propos d'un comportement d'excel que je ne comprends pas avec une de mes macros.

    En gros à la base je veux trier une colonne d'un TCD à l'aide d'une liste personnalisée.

    La création du TCD c'est ok. De même pour l'ajout de la liste personnalisée.
    Seulement le tri est effectué qu'au deuxième lancement de la macro, chose que je ne comprends pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Application.AddCustomList ListArray:=Array("port libre", "port pseudo libre", "port architecturé", "port réduit", "abattage", "essouchage", "recépage", "dévitalisation")
        Dim n As Integer
        n = Application.GetCustomListNum(Array("port libre", "port pseudo libre", "port architecturé", "port réduit", "abattage", "essouchage", "recépage", "dévitalisation")) + 1
    '1 added to give true position of desired order in custom list
    Sheets("Travailbis").Select
    Selection.Range("A5").Select 'début de ma colonne
    Selection.Sort Order1:=xlAscending, Header:=xlGuess, _
    Type:=xlSortLabels, OrderCustom:=n, Orientation:=xlTopToBottom
    Autre particularité que je ne comprends pas, si je désactive la commande de tri, le tri s'effectue quand même, c'est à dire avec le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Application.AddCustomList ListArray:=Array("port libre", "port pseudo libre", "port architecturé", "port réduit", "abattage", "essouchage", "recépage", "dévitalisation")
        Dim n As Integer
        'n = Application.GetCustomListNum(Array("port libre", "port pseudo libre", "port architecturé", "port réduit", "abattage", "essouchage", "recépage", "dévitalisation")) + 1
    '1 added to give true position of desired order in custom list
    Sheets("Travailbis").Select
     
    Selection.Range("A5").Select
    'Selection.Sort Order1:=xlAscending, Header:=xlGuess, '_
    'Type:=xlSortLabels, OrderCustom:=n, Orientation:=xlTopToBottom
    Avez-vous une idée? le seul fait de sélectionner le début de la colonne de mon tcd en ayant ajouté une liste personnalisée avant ferait que le tri s'effectue automatiquement?

    Je vous remercie d'avance.

  2. #2
    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
    Où places-tu ton code ?
    Commence par vérifier si une macro ds l'événement Workbook_Open ou Worksheet_Change ne lance pas ce code ou une macro qui appelle une macro qui appelle...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 21
    Par défaut
    Merci Ouskel'nor de ta réponse.

    Qu'entends-tu par
    Où places-tu ton code ?
    ?

    Je ne suis pas sûr de répondre à ta question mais le bout de code qui effectue le trie se trouve dans un sub. je n'appelle ce bout de macro qu'une seule fois.

    je veux bien mettre tout mon code en ligne mais ça va faire long.

    Sinon comment dois-je faire pour vérifier
    si une macro ds l'événement Workbook_Open ou Worksheet_Change ne lance pas ce code
    ?

    Merci encore.

  4. #4
    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
    Est-ce toi qui a démarré ce projet ? Parce que si c'est quelqu'un d'autre, il peut avoir mis un code qui lance ta macro dan ThisWorkbook ou dans la feuille de code de l'une de feuilles de calculs -> Tu trouves tout ça dans l'éditeur VBA -> deux clics sur Thisworkbook ou sur le nom de chaque feuille.
    A tout hasard...

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 21
    Par défaut
    Oui c'est moi qui ai initié ce projet.

    Ma macro fonctionne mais en la lançant deux fois de suite donc ce n'est pas si grave ça. Mais j'avoue que je n'aime pas ne pas comprendre. Surtout que je ne vois pas où peut bien se cacher l'erreur.Et donc le fonctionnement d'Excel m'étonne en l'occurrence.

    Le fait que je mette tout mon code vous intéresse-t-il?

  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
    Oui, surtout si ton code, pour une raison ou une autre, fait appel au système, ce qui pourrait expliquer des choses

Discussions similaires

  1. Réponses: 3
    Dernier message: 28/07/2012, 16h26
  2. Réponses: 9
    Dernier message: 24/01/2012, 03h18
  3. Macro qui se lance toute seule, sans mon autorisation
    Par csempere dans le forum VBA Word
    Réponses: 5
    Dernier message: 06/06/2009, 10h10
  4. [webcam] qui se lance toute seule
    Par zodd dans le forum Sécurité
    Réponses: 7
    Dernier message: 20/02/2008, 11h22
  5. Un evenement qui se lance tout seul ?
    Par insane_80 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 15/03/2007, 18h17

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