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 :

Erreur si un TCD sur une feuille non active est selectionné


Sujet :

Macros et VBA Excel

  1. #1
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 660
    Points : 5 783
    Points
    5 783
    Par défaut Erreur si un TCD sur une feuille non active est selectionné
    Bonjour,

    Désolé pour le titre peu explicite mais je ne sais pas trop comment résumé mon problème simplement.
    Afin de comparer deux liste de clients que trouve dans deux TCD différent j'utilise un filtre avancé, ce qui marchait très bien jusque là.
    Sauf que depuis 2 jours j'ai une erreur qui est apparue erreur 1004 : "advancefilter method of range class failed"
    Erreur impossible a reproduire que je fais le filtre sans vba
    Erreur qui n'est pas du au variables puisqu'elle persiste quand je les enlèves, comme dans ce code de test:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        Range("B4:B107").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
            "K1:K2"), CopyToRange:=Range("M1"), Unique:=False
    Aujourd'hui j'ai enfin trouvé le problème, si mon TCD est selectionné (si je clic sur n'importe laquelle de ses cellules) alors ma macro donne l'erreur, mais dès que je le déselectionne (clic n'importe où ailleurs sur cette feuille) alors la macro fonctionne a nouveau.

    Donc ma question, comment vérifier si mon tcd est selectionné ou non? et forcer la déselection si besoin, sachant qu'il se trouve sur une feuille différente de celle où je lance la macro.
    J'aimerais bien aller vivre en Théorie, car en Théorie tout se passe bien.

  2. #2
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 413
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 413
    Points : 16 255
    Points
    16 255
    Par défaut
    Bonjour

    Les TCD on des ranges particuliers dont TableRange2 qui englobe toute la surface du TCD. Utiliser Intersect pour savoir si ta cellule active est dedans.
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  3. #3
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 660
    Points : 5 783
    Points
    5 783
    Par défaut
    Citation Envoyé par 78chris Voir le message
    Les TCD on des ranges particuliers dont TableRange2 qui englobe toute la surface du TCD. Utiliser Intersect pour savoir si ta cellule active est dedans.
    Oui je connais tablerange1 et 2, le problème c'est que le TCD est sur une autre feuille, quand je demande des infos sur activecell il me donne celles de la feuille où je suis pas celle du TCD, ce que je fait pour l'instant c'est aller sur la feuille en question selectionné une cellule vide puis revenir sur ma feuille principale, mais je cherchais un moyen plus élégant de le faire.
    J'aimerais bien aller vivre en Théorie, car en Théorie tout se passe bien.

Discussions similaires

  1. [XL-2016] Trier données sur une feuille non active
    Par MatMut38 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 12/01/2016, 22h40
  2. [XL-2000] Effacer seulement le TCD sur une feuille
    Par crissud dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/12/2010, 16h57
  3. test sur une checkbox dans une feuille non active
    Par diude54 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 14/08/2009, 22h29
  4. Réponses: 8
    Dernier message: 22/09/2008, 09h19
  5. ecrire dans une feuille non active d'excel
    Par baboo50 dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 08/08/2007, 11h37

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