Carte sous Excel, rafraichir, motif rayure...

sandrine1375

XLDnaute Nouveau
Bonjour à toutes et à tous,

J'ai créée une carte sous Excel dont je colore les régions selon des quartiles. Je souhaiterai au lieu de mettre une couleur unie, des motifs, c'est à dire des rayures de couleurs horizontales, verticales, ou des points.

Cela fonctionne bien mais le problème c'est que je génère sur la même carte d'autres cartes issues d'autres données qui utilisent la même méthode des quartiles. Aussi lorsque je demande de générer cette nouvelle carte avec une ventilation différente, les parties rayées restent rayées, comme si ma demande n'était pas prise en compte. Faut supprimer l'objet puis relancer la macro pour que cela fonctionne.

Ci-dessous le code SANS LES RAYURES
Code:
Select Case UCase(Vcategorieindicateur)

    Case 1
        Vindicateur = 5
        nomquartile4 = "< 300000 €"
        nomquartile3 = "300000 € à 500000 €"
        nomquartile2 = "500000 € à 750000 €"
        nomquartile1 = "> 750000 €"
        If Vcarte = 1 Then
            MsgBox "Aucune donnée disponible pour cette période"
            Exit Sub
            End If
        If Vcarte = 2 Then Vindicateur = Vindicateur - 2
        If Vcarte = 2 Then
            nomquartile4 = "< 300000 €"
            nomquartile3 = "300000 € à 500000 €"
            nomquartile2 = "500000 € à 750000 €"
            nomquartile1 = "> 750000 €"
        End If

    Case 2
        Vindicateur = 10
        nomquartile4 = "< 25000 €"
        nomquartile3 = "25001 € à 55000 €"
        nomquartile2 = "55001 € à 80000 €"
        nomquartile1 = "> 80000 €"
        If Vcarte = 1 Then
            MsgBox "Aucune donnée disponible pour cette période"
            Exit Sub
            End If
        If Vcarte = 2 Then Vindicateur = Vindicateur - 2
        If Vcarte = 2 Then
            nomquartile4 = "< 25000 €"
            nomquartile3 = "25001 € à 55000 €"
            nomquartile2 = "55001 € à 80000 €"
            nomquartile1 = "> 80000 €"
        End If

End Select

Vnumeroligne = Worksheets("Feuil1").Range("D3").Value
Vannee = Worksheets("Feuil1").Range("C" & Vnumeroligne).Value

Worksheets("Evo encts CMSA").Select

Range("D4").Select

While ActiveCell.Value <> ""

Vcaisse = ActiveCell.Value


Vquartile1 = ActiveCell.Offset(0, Vindicateur).Value
Vquartile2 = ActiveCell.Offset(0, Vindicateur).Value
Vquartile3 = ActiveCell.Offset(0, Vindicateur).Value
Vquartile4 = ActiveCell.Offset(0, Vindicateur).Value

Vcolorquartile1 = 53
Vcolorquartile2 = 52
Vcolorquartile3 = 51
Vcolorquartile4 = 43

If Vquartile1 = "A" _
    Then Worksheets("Carte" & Vannee).Shapes(Vcaisse).Fill.ForeColor.SchemeColor = Vcolorquartile1

If Vquartile1 = "A" _
    Then Worksheets("Carte" & Vannee).Shapes("Rectangle 1").Fill.ForeColor.SchemeColor = Vcolorquartile1
    
If Vquartile2 = "B" _
    Then Worksheets("Carte" & Vannee).Shapes(Vcaisse).Fill.ForeColor.SchemeColor = Vcolorquartile2

If Vquartile2 = "B" _
    Then Worksheets("Carte" & Vannee).Shapes("Rectangle 2").Fill.ForeColor.SchemeColor = Vcolorquartile2

If Vquartile3 = "C" _
    Then Worksheets("Carte" & Vannee).Shapes(Vcaisse).Fill.ForeColor.SchemeColor = Vcolorquartile3
    
If Vquartile3 = "C" _
    Then Worksheets("Carte" & Vannee).Shapes("Rectangle 4").Fill.ForeColor.SchemeColor = Vcolorquartile3
    Worksheets("Carte" & Vannee).Shapes("Rectangle 4").Visible = True
    
If Vquartile4 = "D" _
    Then Worksheets("Carte" & Vannee).Shapes(Vcaisse).Fill.ForeColor.SchemeColor = Vcolorquartile4
    
If Vquartile4 = "D" _
    Then Worksheets("Carte" & Vannee).Shapes("Rectangle 3").Fill.ForeColor.SchemeColor = Vcolorquartile4
    Worksheets("Carte" & Vannee).Shapes("Rectangle 3").Visible = True

ActiveCell.Offset(1, 0).Select

Wend

Ci-dessous la ligne que je met pour avoir mes rayures :

Code:
If Vquartile1 = "A" _
    Then Worksheets("Carte" & Vannee).Shapes(Vcaisse).Fill.Patterned msoPatternDarkDownwardDiagonal

If Vquartile1 = "A" _
    Then Worksheets("Carte" & Vannee).Shapes("Rectangle1").Fill.Patterned msoPatternDarkDownwardDiagonal


Comment et où mettre une ligne qui fais un refresh ou un clear afin que je puisse faire cela sans avoir a tout supprimer et renommer chaque objet pour chaque région SVP?!

Par avance merci
 
Dernière édition:

pierrejean

XLDnaute Barbatruc
Re : Carte sous Excel, rafraichir, motif rayure...

bonjour sandrine1375

Il est extremement difficile de traiter un problème sans un fichier exemple permettant de visualiser les tenants et les aboutissants
A ta disposition donc pour etudier un fichier exemple snas données confidentielles
 

Discussions similaires

Statistiques des forums

Discussions
312 149
Messages
2 085 773
Membres
102 972
dernier inscrit
Alain PICHON