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)

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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...
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

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

Bonjour à tous,
Salut Sylvanu, merci pour ta solution. ça fonctionne!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

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