Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Aide Carte de France interactive (créateur Jacques Boisgontier)

JV33

XLDnaute Nouveau
Bonjour à tous,

J'aurai besoin d'aide svp, en effet j'ai adapté la carte à mes besoin (trouvée sur votre forum, créateur Jacques Boisgontier), mais les couleurs des zone ne se mettent pas toutes à jour.

Qui a la solution svp?

Merci d'avance!
 

Pièces jointes

  • CARTE AGENTS 2022.xls
    520 KB · Affichages: 13
Solution
Bonsoir, JV, Phil,
Une tentative en PJ avec ce que j'ai compris en modifiant la macro "coloriage" :
VB:
Sub coloriage()
  For Each c In [départ]
   If c <> "" Then
    ActiveSheet.Shapes("fr-" & c).Fill.ForeColor.RGB = vbWhite      ' Le dpt passe en blanc par défaut
    ca = c.Offset(, 1)
    If Application.CountIf([légende], ca) > 0 Then                  ' Si "ca" existe dans [légende]
        p = Application.Match(ca, [légende], 0)                     ' Index de "ca", attention dernier param 0 et non 1
        couleur = Range("légende").Cells(p, 1).Interior.Color       ' Extraire couleur
        ActiveSheet.Shapes("fr-" & c).Fill.ForeColor.RGB = couleur  ' appliquer couleur au shape
    End If
   End If
  Next c
End Sub
A noter que...

Phil69970

XLDnaute Barbatruc
Bonjour @JV33

Quelques remarques :

1-
mais les couleurs des zone ne se mettent pas toutes à jour.

C'est à nous de trouver lesquelles ?

2- Le format XLS est vieux d'environ 10 à 15 ans
Maintenant les fichiers excel sont au format :

- XLSX sans macro
- XLSM avec des macros

Merci de ton retour

@Phil69970
 

Pièces jointes

  • CARTE AGENTS 2022.xlsm
    190.1 KB · Affichages: 1

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir, JV, Phil,
Une tentative en PJ avec ce que j'ai compris en modifiant la macro "coloriage" :
VB:
Sub coloriage()
  For Each c In [départ]
   If c <> "" Then
    ActiveSheet.Shapes("fr-" & c).Fill.ForeColor.RGB = vbWhite      ' Le dpt passe en blanc par défaut
    ca = c.Offset(, 1)
    If Application.CountIf([légende], ca) > 0 Then                  ' Si "ca" existe dans [légende]
        p = Application.Match(ca, [légende], 0)                     ' Index de "ca", attention dernier param 0 et non 1
        couleur = Range("légende").Cells(p, 1).Interior.Color       ' Extraire couleur
        ActiveSheet.Shapes("fr-" & c).Fill.ForeColor.RGB = couleur  ' appliquer couleur au shape
    End If
   End If
  Next c
End Sub
A noter que CR n'a pas d'affectation et que 32 dpt sont sans affectation.
 

Pièces jointes

  • CARTE AGENTS 2022.xls
    539 KB · Affichages: 15

JV33

XLDnaute Nouveau
Bonjour à tous,
Salut Sylvanu, merci pour ta solution. ça fonctionne!
 

Discussions similaires

Réponses
1
Affichages
212
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…