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 :

Inverser la selection? contourner le problème? [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 681
    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 681
    Par défaut Inverser la selection? contourner le problème?
    Bonjour,

    Dans le cadre d'un reportting j'ai un ppt dans lequel j'ai copié par lien plusieurs tableaux excel pour automatiser l'actualisation
    Suivant les mois certains tableau n'ont pas le même nombre de colonnes et donc je me retrouve avec dans mon powerpoint un colonne vide avec juste des traits ce qui est bien moche. Pas grave je rempli de fond blanc les cellules en question et on ne les vois plus. Sauf que si la colonne en plus revient et redisparait par la suite les cellules en question n'ont plus de fond blanc.
    J'arrive a localisé l'ensemble de cellules utilisé par mes tcd:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim plage_tcd As Range
    Set plage_tcd = Range("A1")
    For Each TCD In Sheets("test").PivotTables
        Set plage_tcd = Union(plage_tcd, TCD.TableRange2)
    Next
    plage_tcd.Select
    Maintenant j'aimerai pouvoir inverser cette selection, c'est a dire prendre toutes les autres cellules (pas forcément toutes, l'idéal serait de se limité a un range max 20 colonnes 200 lignes) et appliqué mon fond blanc.
    Or après recherche, il s'avère que l'inversion de selection n'est pas vraiment possible même en vba.
    Du coup si quelqu'un a une idée, autre que boucler sur chaque cellule et verifier si elle appartient a ma plage_tcd, je suis preneur.

    Merci d'avance.

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    Peux-tu s'il te plait mieux définir ce que tu entends très exactement par "l'inversion de sélection" ?
    Car cette expression ("inversion") a pour moi un sens qui ne semble pas être le tien.
    Je crois "deviner" ce que tu "veux" dire, mais préfères que tu le dises.

  3. #3
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 681
    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 681
    Par défaut
    En termes mathématiques, j'ai deux ensembles A et B, avec A inclus dans B et je voudrais B-A où A représente les cellules que utilisée par mes TCD (que j'ai réussi a identifier) et B représente soit tout le reste la feuille (mais j'ai pas besoin de tout), soit un range plus petit qui contient A genre 20 colonnes 200 lignes (je ne sais pas ce qui est le plus simple a codé)
    En image:
    Nom : Untitled.jpg
Affichages : 2139
Taille : 39,6 Ko
    Je sais définir la zone verte (mon ensemble B) (ou la blanche si c'est plus simple, donc toute la feuille) je sais définir les zones rouges. Et je voudrais la zone verte mais pas rouge.

    edit: et au cas où, dit encore d'une autre manière, j'arrive a selectioné ma zone rouge, mais je voudrais l'inverse c'est a dire que me zone rouge ne soit pas selectionné, mais que le reste de la feuille / partie de la feuille soit selectionné a la place.

    Le but ultime étant d'appliquer une mise en forme a toutes cellules sauf celle de mes tcd.

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Ce qui se traduit donc en VBA par la détermination d'une plage C résultant de ce qu'il reste d'une plage A après en avoir déduit tout ce que contenait une plage b;
    Et cela (pour corser la chose) : que les plages A ou B soient constituées ou non de cellules contigües.
    Je crois bien que j'ai eu très récemment l'occasion d'ouvrir à ce sujet une discussion, non ?
    Amitiés

  5. #5
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 681
    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 681
    Par défaut
    Je vais chercher cette discussion alors.

    Et tu avais trouvé une solution simple? Car si la solution est plus longue/compliqué que la boucle que j'ai actuellement ce n'est pas utile.

    Sinon je suis ouvert a toutes propositions pour faire autrement( la deuxieme question du titre), moi je n'ai vu que cette solution là il y a peut être d'autres plus simple auxquelles je n'ai pas penser

    edit: j'ai retrouvé la discussion en question, il y a exactement un mois ^^ http://www.developpez.net/forums/d16...les-d-plage-b/

  6. #6
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    j'ai retrouvé la discussion en question, il y a exactement un mois
    Il ne restait (et ce n'était pas compliqué) qu'à faire en sorte de conserver les validations éventuelles.
    Mais j'ai décidé de ne pas poursuivre la discussion ouverte (raisons personnelles).
    T5u devrais rapidement trouver ce petit "complément").

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

Discussions similaires

  1. l'inverse de Select
    Par helmis dans le forum SQL
    Réponses: 2
    Dernier message: 16/10/2008, 11h30
  2. Réponses: 6
    Dernier message: 22/05/2008, 16h45
  3. Inverser une selection
    Par cafeine dans le forum Contribuez
    Réponses: 2
    Dernier message: 20/03/2008, 13h45
  4. insert select qui pose problème
    Par vgaudin dans le forum SQL
    Réponses: 3
    Dernier message: 21/09/2007, 09h07
  5. MySQL : SELECT multitable avec problème de AND
    Par superyan dans le forum Langage SQL
    Réponses: 4
    Dernier message: 21/02/2007, 16h16

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