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 :

Parcours d'une zone nommée [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2007
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2007
    Messages : 218
    Points : 98
    Points
    98
    Par défaut Parcours d'une zone nommée
    Bonjour à tous,
    Je bloque sur un problème de parcours d'une zone nommée en VBA.
    Je m'explique :
    J'ai nommé sous Excel une zone de cellules.
    En VBA, je souhaite parcourir la totalité des cellules de cette zone afin de faire un test sur les caractères dans le but de coloriser la cellule (exemple : cellule D7 contient "V", la cellule se colore en rouge).

    Voici le début de mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    For Each curseur In Range("ZONE_NOMMEE")
        Select Case ActiveCell.Value
            Case "V": ActiveCell.Interior.ColorIndex = 3
            Case "CP": ActiveCell.Interior.ColorIndex = 4
        End Select
    Next
    Le résultat final : rien n'est colorisé sauf si je sélectionne une cellule de la zone avant de lancer la macro, seule la cellule sélectionner est colorisée.

    Quelqu'un peut-il m'aider ?
    Merci par avance pour votre aide.

  2. #2
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    Bonjour,

    tu fais erronément référence à Activecell.

    Remplace cela par Curseur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    For Each curseur In Range("ZONE_NOMMEE")
        Select Case curseur.Value
            Case "V": curseur.Interior.ColorIndex = 3
            Case "CP": curseur.Interior.ColorIndex = 4
        End Select
    Next

  3. #3
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut
    Bonjour cynoq,

    Ce n'est pas parceque tu écris Activecell que tu sélectionnes cette cellule, et donc que ton code s'applique.
    D'ailleurs, il n'est pas besoin de sélectionner une cellule pour y appliquer par VBA une propriété

    Essaie plutôt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim c as range
     
    For Each c In Range("ZONE_NOMMEE")
        Select Case c.Value
            Case "V": c.Interior.ColorIndex = 3
            Case "CP": c.Interior.ColorIndex = 4
        End Select
    Next

  4. #4
    Membre régulier
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2007
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2007
    Messages : 218
    Points : 98
    Points
    98
    Par défaut
    Ok, merci à vous deux pour vos réponse.
    Je n'ai pas fait attention que je ne faisait pas référence à mon curseur.
    Encore merci.

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

Discussions similaires

  1. Empêcher modification de cellule en dehors d'une zone nommée
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/04/2013, 12h50
  2. Réponses: 2
    Dernier message: 26/11/2012, 16h45
  3. [XL-2000] Test de l'existence d'une zone nommée
    Par crashtib dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/06/2010, 20h24
  4. Réponses: 15
    Dernier message: 15/07/2009, 10h25
  5. Réponses: 2
    Dernier message: 30/03/2008, 21h33

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