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 :

execution du code au niveau du classeur et sur toutes les plages de cellules


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 58
    Points : 69
    Points
    69
    Par défaut execution du code au niveau du classeur et sur toutes les plages de cellules
    Bonjour,
    j'ai une macro qui s'applique automatiquement sur une feuille de mon classeur et sur une plage de cellule précise ; elle a pour objet d'attribuer couleur précise à une cellule lorsque la valeur 2 est entrée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    For Each c In Worksheets("Feuil1").Range("A1:G25")
        If c.Value = 2 Then
            c.Interior.ColorIndex = 26
            End If
      Next c
    End Sub
    Je souhaiterais pouvoir faire appliquer cette macro sur la totalité des feuilles de mon classeur et sur la totalité des plages de cellules de chaque feuilles...
    Merci d'avance pour votre aide.

  2. #2
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    Tu peux essayer ce code en le mettant sur le module de ThisWorkbook
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
     
    For Each c In Sh.Range("A1:G25").Cells
        If c = 2 Then
            c.Interior.ColorIndex = 26
        End If
    Next c
     
     
    End Sub
    Sinon, pourquoi ne pas utiliser la mise en forme conditionnelle qui ne nécessite pas de code ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 58
    Points : 69
    Points
    69
    Par défaut
    en réalité ma macro inclut plus de 3 conditions (j'ai simplifié pour le forum), c'est pourquoi je ne peux utiliser la mise en forme conditionnelle.
    Merci pour la réponse, ça fonctionne.
    Toutefois, si je souhaite qu'elle s'applique sur toutes les cellules de toutes les feuilles ; dans le code actuel elle demeure limitée à la plage de cellules indiquée.

Discussions similaires

  1. [2.x] Executer du code sur toutes les vues
    Par pmithrandir dans le forum Symfony
    Réponses: 9
    Dernier message: 19/02/2013, 19h29
  2. Mise en page avant impression sur toutes les feuilles du classeur
    Par fribelle dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/11/2008, 09h48
  3. [MySQL] mettre un code sur toutes les pages pour dire de s'inscrire
    Par will_smith dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 02/07/2008, 12h15
  4. créer un executable sur bcb6 qui marche sur tout les pc
    Par yesil08 dans le forum C++Builder
    Réponses: 2
    Dernier message: 13/05/2007, 15h31
  5. Action sur toutes les feuilles d'un classeur
    Par beurnoir dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 23/12/2005, 15h11

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