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 :

Utiliser les noms des cellules avec VBA [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Femme Profil pro
    Météorologiste
    Inscrit en
    Octobre 2010
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Météorologiste
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2010
    Messages : 60
    Points : 59
    Points
    59
    Par défaut Utiliser les noms des cellules avec VBA
    Bonjour,

    J'ai un petit problème, j'ai plusieurs feuilles strictement identiques où j'ai donné un des noms à certaines cellules sous cette forme : "!$A$3" afin que les cellules identiques aient le même nom dans chaque feuille.
    Mon problème, c'est que je ne peux pas utiliser ces cellules si je ne suis pas activement dans cet onglet.
    L'exemple ci-dessous fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Feuil1.select
    range("toto").interior.colorindex = 6
    mais ce code ci, ne fonctionne pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    With Feuil1
    .range("toto").interior.colorindex = 6
    end with
    Pouvez-vous me donner un coup de pouce s'il vous plait ?

  2. #2
    Invité
    Invité(e)
    Par défaut
    Quelle est la portée de ta variable nommée ?

    Je suppose qu'elle est définie au niveau classeur (comportement par défaut) et donc il suffit d'écrire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("toto").Interior.ColorIndex = 6

  3. #3
    Membre du Club
    Femme Profil pro
    Météorologiste
    Inscrit en
    Octobre 2010
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Météorologiste
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2010
    Messages : 60
    Points : 59
    Points
    59
    Par défaut
    Elle est étendue à "Classeur" et mon problème est que j'aimerai pouvoir via une macro, lui dire dans quel feuille il doit aller la chercher, sans aller activement dans cette feuille

  4. #4
    Invité
    Invité(e)
    Par défaut
    Si la variable est étendue à 'Classeur' il n'y a pas besoin de préciser la feuille. Ou alors j'ai mal compris ce que tu cherches à faire.

  5. #5
    Membre du Club
    Femme Profil pro
    Météorologiste
    Inscrit en
    Octobre 2010
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Météorologiste
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2010
    Messages : 60
    Points : 59
    Points
    59
    Par défaut
    Dans ma feuil1 j'ai la cellule B2 qui s'appelle "toto"
    Dans ma feuil2 j'ai la cellule B2 qui s'appelle aussi "toto"

    J'aimerais avec une macro, pouvoir récupérer les valeurs de ces deux cellules mais je n'y arrive pas car je suis obligée d'activer les feuilles pour pouvoir y accéder.
    C'est plus clair ?

  6. #6
    Invité
    Invité(e)
    Par défaut
    Dans ce cas c'est plutôt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.Names("toto").RefersToRange.Interior.ColorIndex = 6
    Mais la modification ne se fera que sur la cellule où le nom a été défini (pour la couleur en tout cas).

    Dans ma feuil1 j'ai la cellule B2 qui s'appelle "toto"
    Dans ma feuil2 j'ai la cellule B2 qui s'appelle aussi "toto"
    Si la portée est de type 'Classeur', tu ne peux pas avoir deux cellules nommées avec le même nom.

  7. #7
    Membre du Club
    Femme Profil pro
    Météorologiste
    Inscrit en
    Octobre 2010
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Météorologiste
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2010
    Messages : 60
    Points : 59
    Points
    59
    Par défaut
    Si je peux car dans gestion des noms, j'ai remplacé la formule 'Feuille1'!$B$2 par !$B$2 ce qui fait que je peux avoir 2 noms identiques mais le problème est que je dois activer les feuilles pour pouvoir utiliser le nom.

    J'ai dû me rabattre sur cette solution car une fois le nom défini, on ne peux plus changer l'étendue du nom.

    Comme je vois que cette solution engendre aussi des problèmes, je pense que je vais devoir supprimer tous mes noms et les rentrer un à un en n'oubliant pas de mettre l'étendue à Feuil1, Feuil2,...

    Merci pour votre aide.

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

Discussions similaires

  1. [XL-2003] Remplir un tableau avec les noms des cellules
    Par tioch dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/08/2011, 18h24
  2. mettre des n° dans des cellules avec VBA
    Par naitgo dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 16/11/2007, 20h48
  3. Réponses: 5
    Dernier message: 21/08/2007, 12h17
  4. Réponses: 28
    Dernier message: 09/01/2007, 16h30
  5. Modifier les noms des champs sous VBA
    Par shadockgreg dans le forum Access
    Réponses: 2
    Dernier message: 22/09/2006, 17h50

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