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

Excel Discussion :

[XL ou VBA]Pointage d'une mise en forme conditionnelle sur une plage nommée et pas en ref absolue [XL-2010]


Sujet :

Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 106
    Points : 55
    Points
    55
    Par défaut [XL ou VBA]Pointage d'une mise en forme conditionnelle sur une plage nommée et pas en ref absolue
    Bonjour,

    Je cherche un moyen de faire appliquer une MFC sur une plage nommée et non pas avec des référence absolue. (ça fais 2 jours que je tourne en rond et Google n'est pas mon ami pour ça à voir)

    Je m'explique, j'ai une MFC qui pointe sur une plage en $a$2:$ac$10000 mais lorsque je fais par VBA la màj des liens (ActiveWorkbook.UpdateLink Name:=ActiveWorkbook.LinkSources) cela prend au bas mot 5 minutes (et je suis gentil) alors que si je supprime ma MFC, cette màj prend 7 secondes chrono.

    Donc je cherche un moyen de faire pointer cette MFC sur une plage nommée "SURLIGNE" dans le gestionnaire des nom. Dans ma MFC, ça prend bien le nom mais dès que je valide, ça me remet la référence absolue. l'idée était de modifier par VBA la plage nommée dans mon gestionnaire pour la faire pointer uniquement sur la case $a$2 le temps de màj des liens et la remettre en $a$2:$ac$10000 après.

    La plage que j'aimerais modifier :
    Nom : PS01.PNG
Affichages : 443
Taille : 29,4 Ko
    La MFC avant validation
    Nom : PS02.PNG
Affichages : 318
Taille : 33,2 Ko
    la MFC après validation (il ne garde pas le =SURLIGNE
    Nom : PS03.PNG
Affichages : 459
Taille : 33,7 Ko
    En espérant que quelqu'un ait une solution simple.
    Merci de votre lecture

    Srame

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Septembre 2013
    Messages
    783
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 783
    Points : 1 562
    Points
    1 562
    Par défaut
    Bonjour,

    Quelques pistes:
    1. Si vous avez du VBA, faites-le par VBA, par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     With Range("SURLIGNE").FormatConditions
            .Delete
            .AddDatabar 'à remplacer par votre formule
        End With
    2. Passer par un tableau plutot que par un range nommé, l'expansion est la gestion est bien meilleure

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 106
    Points : 55
    Points
    55
    Par défaut
    Bonjour vinc,

    Pour le moment, j'ai contourné mon problèmes par VBA en supprimant et recréant toutes les MFC lors de ma màj des liens. Mais, cette solutions ne me convient que partiellement. Je n'avais jamais regardé ces Tableaux et ça m'a l'air pas mal. Je vais encore regarder dans cette direction.

    Merci beaucoup

    Srame

  4. #4
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Dans VBA, le membre de FormatCondition qui indique la zone d'application est AppliesTo et c'est un objet Range.
    Il est donc peu probable qu'il puisse conserver un nom de plage.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 106
    Points : 55
    Points
    55
    Par défaut
    Alors à voir, utiliser le Tableau me parait être une très très bonne solution. Je vais continuer mes test avant de m'attaquer au fichier original. Du coup, je vais mettre ce poste en résolue.

    Merci beaucoup à vous et cette fabuleuse communauté developpez.net

    Srame

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

Discussions similaires

  1. [XL-2010] Mise en forme conditionnelle sur une plage dynamique
    Par SylvainL dans le forum Excel
    Réponses: 10
    Dernier message: 02/11/2017, 23h45
  2. Réponses: 2
    Dernier message: 05/07/2014, 14h25
  3. Mise en forme conditionnelle sur une date
    Par SebC94 dans le forum Excel
    Réponses: 2
    Dernier message: 09/11/2012, 11h29
  4. Mise en forme conditionnelle sur une date ?
    Par byloute dans le forum Excel
    Réponses: 2
    Dernier message: 21/11/2007, 15h57

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