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 :

Formule de type texte (Define/Apply Names)


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2006
    Messages : 19
    Points : 11
    Points
    11
    Par défaut Formule de type texte (Define/Apply Names)
    Bonjour,


    J'utilise des formules dans lesquelles j'aimerais non pas afficher les cellules mais des noms. J'utilise donc le define/apply Names.

    Pour définir le nom à une cellule donnée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveWorkbook.Names.Add Name:=nom, RefersToR1C1:= _
            "=" & feuil & "!" & ActiveCell.Address(ReferenceStyle:=xlR1C1)
    Pour l'appliquer à une plage de cellules :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.ApplyNames Names:=Array(nom)
    Quand les éléments de la formule se trouvent dans la même feuille, la formule s'affihe bien en mode texte, mais quand j'applique le nom sur une autre feuille de calcul, il ne l'applique pas, donc je me retrouve avec des cellules de type :

    Puis-je contourner ce petit problème?

    Merci

  2. #2
    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
    Je ne suis pas sûr d'avoir compris ton problème mais, pour utiliser un nom de cellule ou de plage dans une formule, tu ne dois pas désigner la feuille. Le nom est solidaire du Workbook, pas d'une feuille. Donc, tu peux l'utiliser tel quel n'importe où dans le classeur.
    Mais est-ce bien ton pb ?
    Tu dis
    A+

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2006
    Messages : 19
    Points : 11
    Points
    11
    Par défaut
    Mon problème, c'est que les formules ont été saisies avant que les noms soient définis. Si je resaisie la formule par coup de clics, alors le nom s'affiche bien. Mais si je veux appliquer le nom voulu sur la formule, rien à faire, il ne le reconnaît pas...

    ex pour être plus concrête :
    j'ai une feuille Traffic où je définis : ind1 dans C1 et ind2 dans 2
    dans une feuille Network, je définis : ind3 "=Traffic!C1/Traffic!C2"
    je nomme C1 par ind1 et C2 par ind2.
    je veux pouvoir appliquer les noms ainsi définis sur la feuille network et ainsi avoir : ind3 "=ind1/ind2"

    Mais ça bugue.

    Si vous avez la solution...
    Merci

  4. #4
    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
    Comment insères-tu tes formules ? Le code ?
    A+

    Edit
    Manuellement, ça ne fonctionne pas non plus ?

  5. #5
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Sub MonTest()
     [C1].Name = "ind1"
     [C2].Name = "ind2"
     [C3].Formula = "=ind1/ind2"
    End Sub
    tu peu aussi remplacer la notation de style [C1] par range("C1") .. (ou mieux en précisant le classeur et la feuille...

Discussions similaires

  1. [Formule] compter des valeurs de type texte
    Par marco361020 dans le forum Excel
    Réponses: 3
    Dernier message: 20/11/2007, 12h08
  2. Réponses: 6
    Dernier message: 17/03/2006, 12h23
  3. [access] champs type text sur un pc blob sur un autre
    Par Harry dans le forum Bases de données
    Réponses: 3
    Dernier message: 27/07/2004, 09h30
  4. Fonction LEFT sur champ de type "text" : méthodes
    Par MatthieuQ dans le forum Langage SQL
    Réponses: 4
    Dernier message: 08/06/2004, 11h15
  5. [UPDATE] Mise à jour d'un type text
    Par nico1492 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 21/01/2004, 13h26

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