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 :

Tester une cellule nommé [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 18
    Par défaut Tester une cellule nommé
    Bonjour, après avoir visionner quelques discutions sans succès, je me permet de créer ma propre discutions.

    Je souhaiterai tester le nom d'une cellule pour effectuer mon traitement.

    j'ai pensais à quelque chose comme ça:

    if cells(x,1).name = nomCellule

    puis j'ai essayer:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Not Intersect(Cells(x, 1), Range("nomCellule")) Is Nothing Then
    ça fonctionne, Seulement lorsque que j'ai voulu appliquer cette fonction a ma boucle while j'obtiens une erreur 1004.

    j'aimerai effectuer quelque chose dans ce style:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    do while cells(x,1).name <> nomCellule
    loop
    J'ai essayé ce-ci mais sans résultat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Do While Intersect(Cells(x, 1), Range("nomCellule")) Is Nothing
    J'espère ne pas être trop brouillon.

    Merci d'avance

  2. #2
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 586
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 586
    Par défaut
    Bonjour


    Si toutes les cellules de ta boucle ne sont pas nommées, cela plante sans doute sur cells(x,1).name

    Quel est l'objectif final ?

    Sachant qu'on peut connaître l'adresse correspondant à un nom, le test inverse serait une meilleure piste...

  3. #3
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour maxmusix,

    pour tester le nom d'une cellule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Function CellName(ByVal Rg As Range)
             On Error Resume Next
             CellName = Rg.Name.Name
    End Function

    Au passage, pour savoir si un nom n'existe pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Function NoExistName(N) As Boolean
             NoExistName = IsError(Evaluate(N))
    End Function
    Comme tu as été peu clair, je me demandes si tu ne confonds pas avec l'adresse.

    Dans ce cas voir du côté de la propriété .Address


    __________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 18
    Par défaut
    Bonjour tous le monde, désolé si je n'ai pas été très clair, je m'explique j'ai plusieurs cellules d'une feuille de calcul qui correspondent à une partie "fournitures diverses" j'ai nommé la première cellule de ma partie "debutDivers" et la dernière "finDivers".

    Pour effectuer mon traitement je teste si le nom de la cellule est = "Debut divers". Si c'est le cas j'effectue mon traitement jusqu'à "finDivers".

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If Not Intersect(Cells(x, 1), Range("debutDivers1")) Is Nothing Then
                        traitementDivers "finDivers1", 0
    Else: x = x + 1
    End If
    Avec "traitementDivers" ma fonction de traitement:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub traitementDivers(fin As String, colonne As Integer)
     
        Do While Intersect(Cells(x, 1), Range(fin)) Is Nothing   '<------erreur ici
     
            divers(0, colonne) = divers(0, colonne) + Cells(x, 4).Value
            divers(1, colonne) = divers(1, colonne) + Cells(x, 6).Value
            divers(2, colonne) = divers(2, colonne) + Cells(x, 7).Value
     
            x = x + 1
        Loop
    End Sub
    Mon If fonctionne mais mon while génère une erreur.

    merci pour vos réponses en tout cas je vais tester vos propositions en attendant.

  5. #5
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Ton x au début = 0

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 18
    Par défaut
    Il est égal à 9 au début ce qui corresponds à la fin de mon entête et a ma ligne de départ , je saute l'entête pour ce traitement.

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

Discussions similaires

  1. Récupérer une cellule nommée
    Par drakkar_agfa dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/10/2008, 22h53
  2. Tester une cellule Excel
    Par jouclar dans le forum Bibliothèques tierces
    Réponses: 1
    Dernier message: 07/05/2008, 14h47
  3. Tester une cellule
    Par tomy7 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/04/2008, 15h33
  4. Réponses: 2
    Dernier message: 27/06/2007, 21h53
  5. [VB]Excel - Accès à une cellule nommée
    Par andrew07 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/02/2006, 14h01

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