[RESOLU] Colorier tous les départements sur une carte de France vectorielle

prorudess

XLDnaute Junior
Bonjour à tous,
Il y a quelques temps, j'ai récupéré un fichier excel sur cette discussion : https://www.excel-downloads.com/threads/colorier-une-carte-de-france-vectorielle.118285/.
Celle-ci est très bien faite, je l'ai adapté à mes besoins, par contre j'aurais aimé savoir si il était possible d'afficher les trois couleurs différentes (Vert, Orange et Rouge) en même temps sur la carte quand on clique sur un bouton ?
D'avance merci de votre aide.
 

Pièces jointes

  • Carte France Vectorielle.zip
    292.1 KB · Affichages: 738
Dernière édition:

prorudess

XLDnaute Junior
Re : Colorier tous les départements sur une carte de France vectorielle

Re,
A force de persévérance j'ai enfin trouvé la solution.
Je la donne au cas où cela intéresse quelqu'un.
Code:
Sub Evt_Dpt_All()
For Each Row In Sheets("Départements").Range("Table_Départements").Rows
        If Int(Row.Cells(1, 4).Value) = 1 Then
            Sheets("Plan transport").Shapes(Row.Cells(1, 1)).Fill.ForeColor.RGB = _
            Sheets("Plan transport").Shapes("CouleurHigh").Fill.ForeColor.RGB
            Else
        If Int(Row.Cells(1, 4).Value) = 2 Then
            Sheets("Plan transport").Shapes(Row.Cells(1, 1)).Fill.ForeColor.RGB = _
            Sheets("Plan transport").Shapes("CouleurMiddle").Fill.ForeColor.RGB
            Else
        If Int(Row.Cells(1, 4).Value) = 3 Then
            Sheets("Plan transport").Shapes(Row.Cells(1, 1)).Fill.ForeColor.RGB = _
            Sheets("Plan transport").Shapes("CouleurLow").Fill.ForeColor.RGB
            End If
            End If
            End If
    Next Row
End Sub
Bonne journée à tous.
 

Gruick

XLDnaute Accro
Re : Colorier tous les départements sur une carte de France vectorielle

Bonjour,

J'allais m'intéresser à ton sujet... trop tard !
As-tu essayé l'instruction "select case", qui semble tout-à-fait adaptée à ton cas, car si les valeurs ne peuvent-être autres au 1, 2 ou 3, elle fera merveille et évitera les "if" successifs.
Tu pouvais aussi mettre if, et deux elseif, et un seul end if. (au jambon :) bien sur)

Gruick
 

Gruick

XLDnaute Accro
Re : Colorier tous les départements sur une carte de France vectorielle

Re,

En fonction de la valeur d'une expression, la fonction Case exécute les instructions spécifiques

MaRéponse = ta question, ici Int(Row.Cells(1, 4).Value
Select Case MaRéponse
Case 1
ton instruction si la réponse est 1
Case 2
ton instruction si la réponse est 2
Case 3
ton instruction si la réponse est 3
Case Else (au cas où... mais pas obligatoire si les réponses sont 1, 2 ou 3 et rien d'autre)
donc ton instruction si la réponse n'est ni 1, ni 2, ni 3,
End Select

C'est assez souple, car on peut à l'intérieur du Case mettre une borne du genre Case 1 to 1,99.
ou Case > ...

Bref, j'adore. Je crois que l'aide excel est assez bien foutue pour le coup.

Gruick