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 :

[VBA pour Excel] Différence entre activate et select


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Février 2005
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 183
    Points : 125
    Points
    125
    Par défaut [VBA pour Excel] Différence entre activate et select
    Bonjour,

    Je souhaiterais savoir qu'elle est la différence entre Range("B2").Activate et Range("B2").Select.

    Merci de m'éclairer sur ces deux méthodes qui m'ont l'air pourtant similaires.

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut Re: [VBA pour Excel] Différence entre activate et select
    Citation Envoyé par loacast
    Bonjour,

    Je souhaiterais savoir qu'elle est la différence entre Range("B2").Activate et Range("B2").Select.

    Merci de m'éclairer sur ces deux méthodes qui m'ont l'air pourtant similaires.

    Select permet (en autre) de sélectionner une ou un ensemble de cellules dans la feuille active... ( Il faut d'abords activer la feuille sur laquelle on veu sélectionner une cellule)

    Activate .. : permet d'activer une cellule.. ( pas une plage...) , si la cellule fais partie de la sélection en cours dans la feuille , la sélection n'est pas modifiée ... sinon la sélection en cours devient la cellule ... , activate peu s'appliquer à d'autre feuille que la feuille en cours ... :

    ainsi on as
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sheets(1).Range("B2").Activate
    qui est équivalent à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sheets(1).activate
    Range("B2").select

    .. j'espére que je t'aurai un peu éclairci le probléme ... même si je ne suis surement pas complet...

  3. #3
    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
    Points : 15 543
    Points
    15 543
    Par défaut
    Non, elles se ressemblent mais ne sont pas pareilles.
    Un exemple : Tu ne peux pas "Activer" une plage de cellules. Par contre, tu peux la "Sélectionner"
    Et pour sélectionner une plage de cellule, tu peux indifféremment Activer ou sélectionner ta feuille... Que ce soit bien compris !

    A+

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Février 2005
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 183
    Points : 125
    Points
    125
    Par défaut
    Merci bien les gars. Tout est clair désormais.

    EDIT : je n'avais pas testé sur une plage de cellules.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 858
    Points : 583
    Points
    583
    Par défaut
    J'ai aussi un peu de mal à voir la difference.

    Si on veut avoir une action sur une feuille (sans selectionenr de cellules), faut-il l'activer ou la selectionner?

    Merci

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    752
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 752
    Points : 832
    Points
    832
    Par défaut
    Une différence fondamentale entre les 2:
    Select permet de déclarer ce que tu sélectionne comme étant "Selection"
    Activate permet de déclarer ce que tu actives comme étant "ActiveCell" s'il s'agit d'une cellule.

    Il est primordial de ne pas utiliser de "Activate" pour utiliser "Selection" derrière et inversement de ne pas utiliser "Select" pour utiliser "ActiveCell" derrière.

    Personnellement, je pense que Microsoft nous a fait un outil de trop parmi les deux.

  7. #7
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    Par défaut
    sans oublier bien sur que ces deux outils sont quasiment inutiles a une ou deux exeptions près.

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

Discussions similaires

  1. selection filtrée tableau vba pour Excel
    Par dbgdbg dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 05/12/2007, 14h56
  2. vba pour excel
    Par marcm dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 01/02/2007, 09h00
  3. [VBA-E] Help création d'un programme vba pour excel
    Par yampi dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/01/2007, 11h46
  4. [VBA-E] tri sur VBA pour Excel
    Par mariedrouin dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 21/05/2006, 13h32
  5. Réaliser une macro en VBA pour excel afin de créer un graphe
    Par xavier le breuil dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 04/12/2005, 14h41

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