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 :

Aplliquer une macro sur deux feuil d'un classeur [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 7
    Points : 7
    Points
    7
    Par défaut Aplliquer une macro sur deux feuil d'un classeur
    Bonjour,

    Je travail sur une macro qui permet de colorier des objets (une carte d'un pays composée de 16 régions), selon une échelle donnée. j'ai pu appliquer la macro sur la carte quand elle est sur la même feuil de travail que le tableau source; mais une fois j'essaye de l'appliquer sur la même carte mais sur une autre feuil de travail (en changeant le code bien évidemment) cela bloque.

    Voici le code que j'utilise

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    Sub CouleurPC()
        
        Dim numDep As Integer
        Dim PC As Double
        
        Worksheets("Mois").Select
        
        For numDep = 1 To 16
        
            PC = WorksheetFunction.VLookup(numDep, Range("C6:H21"), 6, False)
            
            If PC >= Cells(38, 12).Value Then
                valcouleur = Cells(38, 12).Interior.Color
            ElseIf PC > Cells(39, 12).Value Then
                valcouleur = Cells(39, 12).Interior.Color
            ElseIf PC > Cells(40, 12).Value Then
                valcouleur = Cells(40, 12).Interior.Color
            ElseIf PC > Cells(41, 12).Value Then
                valcouleur = Cells(41, 12).Interior.Color
            ElseIf PC > Cells(42, 12).Value Then
                valcouleur = Cells(42, 12).Interior.Color
            Else
                valcouleur = Cells(43, 12).Interior.Color
            End If
            
            Application.Worksheets("Fiche sign.").Shapes("Ré" & Format(numDep, "00")).Select
            
            Selection.ShapeRange.Fill.ForeColor.RGB = valcouleur
                
        Next numDep
           
        Range("F25").Select
        
    End Sub


    Le code se bloque au niveau de la ligne mis en rouge.

    Je vous pris de m'aider si une erreur est claire.

    Merci.

  2. #2
    Membre émérite Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Points : 2 662
    Points
    2 662
    Par défaut
    Salut,
    Il y a plusieurs soucis dans ton code mais le principal est que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    valcouleur = Cells(38, 12).Interior.Color
    ne va pas te renvoyer le numéro attendu, la bonne syntaxe est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    valcouleur = Cells(38, 12).Interior.ColorIndex
    Ensuite la méthode RGB ne fonctionne pas comme la ColorIndex, RGB attend 3 argument pour "créer" la couleur, alors que Colorindex ou schemecolor fonctionne avec un numérod de référence.

    Il te reste à trouver la correspondance entre le colorindex et schemecolor.

    Bonne continuation.

    A+

  3. #3
    Futur Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    Merci fréderic pour votre aide, en fait ce que je devais modifier c'est ajouter juste après EndIf

    Worksheets("Fiche sign.").Select

    Je vous remercie encore pour votre aide.

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

Discussions similaires

  1. [XL-2007] Petit soucis de combinaison d'une macro sur deux feuilles
    Par INFINITY100 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 01/05/2015, 14h44
  2. [XL-2013] Difficultés pour la création d'une macro sur deux colonnes de nombres
    Par mr_hodor dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 08/07/2014, 12h49
  3. Supprimer une ligne sur deux feuilles du même classeur
    Par apdf1 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 12/03/2011, 12h28
  4. coloriser une ligne sur deux
    Par the0livier dans le forum Langage
    Réponses: 3
    Dernier message: 12/09/2005, 10h54
  5. Pb : malloc qui marche une fois sur deux .... ?
    Par guillaume_pfr dans le forum C
    Réponses: 14
    Dernier message: 21/07/2003, 09h52

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