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 :

Erreur sur la récupération du nom d'une cellule [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 81
    Points : 68
    Points
    68
    Par défaut Erreur sur la récupération du nom d'une cellule
    Bonjour à tous!
    A un moment dans le code je nomme certaines cellules de mon classeur de la manière suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.Names.Add Name:=ENTETEINSERE & nomFeuille, RefersToR1C1:=Range("A1")
    Plus loin dans le code je souhaite regarder si le nom de la cellule vaut une certaine valeur, et si c'est le cas je fais un traitement. J'utilise pour celà:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If (Range("A1").Name.Name = ENTETEINSERE & nomFeuille) Then
    Cela fonctionne si la cellule A1 porte bien le bon nom, mais si cette cellule n'est pas nommé alors j'ai le message d'erreur suivant:
    Erreur 1004
    Erreur définie par l'application ou l'objet
    Si vous avez la solution
    Merci d'avance!

  2. #2
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bonjour le forum, MiXinG

    ENTETEINSERE est le nom d'une variable string ?

    et cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If (Range("A1").Name.Name = ENTETEINSERE & nomFeuille) Then
    ne serait pas plutot :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Range("A1").Name = ENTETEINSERE & nomFeuille Then

  3. #3
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 81
    Points : 68
    Points
    68
    Par défaut
    Salut!
    Merci de me répondre.

    ENTETEINSERE est le nom d'une variable string ?
    Effectivement



    et cette ligne :
    Code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If (Range("A1").Name.Name = ENTETEINSERE & nomFeuille) Then
    ne serait pas plutot :
    Code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Range("A1").Name = ENTETEINSERE & nomFeuille Then
    Eh bien non, moi aussi ça m'a paru complètement bizarre, mais pour avoir le nom de la cellule, il s'agit de l'attribut Name de l'attribut Name d'un range. Si on met comme tu as écris, on a une erreur. Or avec la ligne que j'ai écrite il n'y a pas d'erreur (sous réserve que la cellule soit nommée)

  4. #4
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    je n'ai pas testé mais si tu faisais le contraire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If Range("A1").Name.Name <> ENTETEINSERE & nomFeuille Then
    exit sub
    else
    ........

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Points : 2 443
    Points
    2 443
    Par défaut
    Salut MiXinG et le forum
    En attendant mieux, j'emploierai le même principe que pour vérifier l'éxistance d'une page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub test()
    Dim x
    Dim Y As Boolean
    For Each x In ActiveWorkbook.Names
        If x.RefersToLocal = "=" & ActiveSheet.Name & "!" & Range("A1").Address Then
            Y = True
            Exit For
        End If
    Next x
    If Y And (x.Name = ENTETEINSERE & nomFeuille) Then
    '...........
    End If
    End Sub
    A+

  6. #6
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 81
    Points : 68
    Points
    68
    Par défaut
    Merci pour vos réponses!

    Je vais manger et je regarde tout ça!
    Bon appétit

  7. #7
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 81
    Points : 68
    Points
    68
    Par défaut
    Bon eh bien j'ai essayé vos suggestions et malheureusement j'obtiens toujours une erreur...
    j'ai donc opté pour un :
    Et ça fonctionne pas trop mal!

    C'est de la bidouille mais ça passe...

    Merci encore!

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

Discussions similaires

  1. Récupération de noms dans une suite de caractères
    Par jeremy383 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 20/02/2013, 10h25
  2. Récupération du nom d'une checkbox pour faire un if
    Par n061384 dans le forum Langage
    Réponses: 7
    Dernier message: 13/07/2007, 13h47
  3. Erreur sur les Profils itinérants : nom de réseau introuvable
    Par zelig dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 04/06/2007, 20h00
  4. VBA_Excel-Pb pour trouver un nom dans une cellule
    Par martiweb dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 01/06/2007, 00h04
  5. [VBA] Enregistrer un classeur avec le nom d'une cellule
    Par zouille dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 03/10/2006, 19h16

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