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 :

Vérifier si cellule excel porte déja un nom


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 11
    Par défaut Vérifier si cellule excel porte déja un nom
    C'est un peut la suite de la question d'avant...

    Comment je peux savoir si une cellule excel porte déja un nom?
    Lorsque j'exécute la code...

    Nom_Cell = ActiveCell.Name.Name
    'PROBLEME SI LE NOM EST VIDE



    Merci a demain pour pleins pleins de fun... encore :lol:

  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
    Par défaut
    Hello, encore un pb ?
    Ce soir, là, tout de suite, je m'en vais... Youpi !
    essaie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    With activeWorksheet.Range("F10")
        If ActiveWorkbook.Name <> "" then msgbox "Y'a un nom"
    end with
    Pas essayé... mais j'ai des craintes...

    Tu nous diras demain à moins que zaza passe par là, elle se couche très tard...

    A demain

  3. #3
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    J'ai un petit truc pour toi: il faut d'abord vérifier si ta cellule est une référence de la collection des plages nommées:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    Sub test()
     
        Dim Ok As Boolean
        Dim i As Integer
        Ok = False
     
        Set nms = ActiveWorkbook.Names
        For i = 1 To nms.Count
            'MsgBox(nms(i).Name)
            If nms(i).RefersToRange.Address = ActiveCell.Address Then Ok = True
        Next
     
        If Ok = True Then
            Nom_Cell = ActiveCell.Name.Name
            MsgBox (Nom_Cell)
        End If
     
    End Sub
    Il y a peut-être (sûrement) plus simple, mais cette solution a le mérite de fonctionner, et d'éviter le message d'erreur.

  4. #4
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    Salut Oaurelius
    Salut ouskel

    Apparemment, je n'aurai pas à faire de tests. Megaxel a déjà fourni une réponse qui marche.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 11
    Par défaut
    Merci a vous tous...
    :D

    J'vais pouvoir finir tranquillou... Classe

    Bonne journée

  6. #6
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    Ravi de t'avoir rendu service.
    Mais j'ai trouvé l'essentiel ce code dans l'aide VBA d'Excel, tu sais.

  7. #7
    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
    Par défaut
    Megaxel, t'es génial ! Si si !
    Je n'ai même pas pensé à cette solution, c'est tout dire...

    A+

  8. #8
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    Hommage suprême...
    Ron-ron-ron-ron... (Non, je ne dors pas, je ronronne de plaisir!!!)

  9. #9
    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
    Par défaut
    Pour effacer un millier de noms de cellules, ma procédure à moi faisait... 33 lignes de code... (elle a 8 ans tout de même)
    Je joins donc la procédure de Megaxel modifiée pour effacer tous les noms de cellules dans un classeur Excel
    Attention : Se mettre dans le bon classeur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub EffacerTousLesNomsDeCellules()
    Dim i As Integer
        Set nms = ActiveWorkbook.Names
        For i = 1 To nms.Count
            ActiveWorkbook.Names(1).Delete
        Next
    End Sub
    Il n'y a pas d'erreur, il faut bien mettre "ActiveWorkbook.Names(1).Delete". Efface à chaque fois le premier nom de la liste


    A ceux qui en auraient besoin...

  10. #10
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    Bon! Bon! Ça va les mecs. Cessez de vous relancer. Le problème est résolu!

  11. #11
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    C'est-à-dire que nos compteurs de messages en ont pris un coup cette nuit: Hier, Ouskel'n'or était à plus de 800, et moi j'approchais les 200, et ce matin... Boum... Alors il faut remonter les stats...
    Warf, warf, warf !!!
    Non, je déconne...

  12. #12
    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
    Par défaut
    Quoi, zaza ? Elle te plait pas ma solution de Megaxel relookée ?

  13. #13
    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
    Par défaut
    Parce que sinon, on peut faire ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub EffacerTousLesNomsDeCellules() 
    Dim i As Integer 
        Set nms = ActiveWorkbook.Names 
        For i = nms.Count  To 1 step -1 
            ActiveWorkbook.Names(i).Delete 
        Next 
    End Sub

  14. #14
    Membre émérite
    Avatar de Theocourant
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 618
    Par défaut
    Citation Envoyé par ouskel'n'or
    Parce que sinon, on peut faire ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub EffacerTousLesNomsDeCellules() 
    Dim i As Integer 
        Set nms = ActiveWorkbook.Names 
        For i = nms.Count  To 1 step -1 
            ActiveWorkbook.Names(i).Delete 
        Next 
    End Sub
    J'ai même un peu plus simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub EffacerTousLesNomsDeCellules() 
        While  ActiveWorkbook.Names.Count>0 then
            ActiveWorkbook.Names(1).Delete
        Wend
    End Sub
    8)

    Théo

  15. #15
    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
    Par défaut
    Waouhhh !

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

Discussions similaires

  1. Vérifier si cellule excel porte déja un nom
    Par seb63700 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 10/09/2012, 10h17
  2. Changer le nom d'une cellule Excel en VB.Net
    Par Bacube dans le forum VB.NET
    Réponses: 3
    Dernier message: 06/07/2012, 09h11
  3. [AC-2003] vérifier le contenu d'une cellule excel depuis access
    Par carlostropico dans le forum VBA Access
    Réponses: 3
    Dernier message: 03/12/2009, 08h48
  4. Réponses: 9
    Dernier message: 26/09/2007, 16h18
  5. Réponses: 1
    Dernier message: 23/03/2007, 11h43

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