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 :

Code VBA interrompu quand la feuille excel n'est pas active


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Janvier 2008
    Messages : 91
    Par défaut Code VBA interrompu quand la feuille excel n'est pas active
    Bonjour,

    J'ai ecrit un bout de code qui s'interrompt si la feuille n'est pas active (je dois alors manuellement clique sur l'onglet, presser F8 et le code continue).

    Pour donner un exemple, le code suivant bugge:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If BR_list.Range(Columns(-1 + 4 * j).Cells(5), Columns(-1 + 4 * j).Cells(5).End(xlDown)).Cells.Count > 1000 Then
    lorsque je ne suis pas sur la feuille BR_List, mais fonctionne si je clique sur l'onglet.

    Idem, si je ne suis pas sur la feuille Summary le code suivant bug:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Summary.Range(Range("C8"), Range("C8").Offset(Borne - 1, i + 1)).Sort Key1:=Range("C8"), _
            Order1:=xlAscending, Header:=xlGuess, _
            OrderCustom:=1, Orientation:=xlTopToBottom, _
            DataOption1:=xlSortNormal
    Comment ce fait-ce et comment remedier a cela?

    Merci

  2. #2
    Membre Expert
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    673
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 673
    Par défaut
    Bonjour,
    Essaie ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If BR_list.Range(BR_list.Columns(-1 + 4 * j).Cells(5), BR_list.Columns(-1 + 4 * j).Cells(5).End(xlDown)).Cells.Count > 1000 Then
    Et ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Summary.Range(Summary.Range("C8"), Summary.Range("C8").Offset(Borne - 1, i + 1)).Sort Key1:=Summary.Range("C8"), _
            Order1:=xlAscending, Header:=xlGuess, _
            OrderCustom:=1, Orientation:=xlTopToBottom, _
            DataOption1:=xlSortNormal
    Range et Columns, s'ils ne sont pas préfixés par un objet feuille, font par défaut référence à la feuille active, ce qui explique les problèmes que tu as rencontrés.
    Il est plus prudent de toujours préfixer ces fonctions par la feuille sur laquelle on veut travailler.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Janvier 2008
    Messages : 91
    Par défaut
    Genial merci!

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

Discussions similaires

  1. [XL-2010] Code VBA pour comparer deux feuilles Excel
    Par sam013 dans le forum Excel
    Réponses: 1
    Dernier message: 13/08/2012, 14h53
  2. [VBA-E] souris et feuille excel
    Par stos dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/01/2007, 11h40
  3. [VBA-E] Afficher une feuille excel pour la modifier
    Par z980x dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 30/05/2006, 22h21
  4. [VBA-A] Ajouter une feuille Excel
    Par kissmytoe dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 23/02/2006, 15h54
  5. [VBA-E]copie de feuille excel
    Par ogenki dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/02/2006, 14h20

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