Renommer des formes libres via une macro?

  • Initiateur de la discussion Initiateur de la discussion Milka08
  • Date de début Date de début

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 !

M

Milka08

Guest
Bonjour.
Excusez tout d'abord mon ignorance en ce qui concerne excel. On m'a appris beaucoup de choses sur des logiciels de programmation mais pas excel! 🙁
Alors voilà, j'ai recréé une carte de l'IDF avec un découpage des villes : une ville = une forme libre.
Chacune de ces formes a un nom précis : F+son code INSEE (par exemple F75101 pour le 1er arrondissement de Paris, etc...)
Sauf que je me retrouve parfois coincée, parce que Fxxxx me renvoie parfois à une cellule. oui, je sais, j'aurais dû y penser plus tôt!
sauf que maintenant, j'ai plus de 1000villes que je ne veux pas renommer à la main.
Puis-je faire une macro qui renommemera mes ville, par exemple F_75101 au lieu de F75101? Ou alors, existe-il un autre moyen?
A terme, je voudrais créer une macro qui mettra en couleur le fond des formes selon des conditions précises. (en fait, ce sera un dégradé de couleurs selon des pourcentages).
J'en ai vraiment besoin.
Merci de votre aide.
 
Re : Renommer des formes libres via une macro?

bonjour Milka08 et bienvenue sur le forum,

essaye cette macro :
Code:
Sub test()
Dim laShape As Shape

'boucler sur toutes les formes de la feuille "Feuil1"
For Each laShape In ThisWorkbook.Sheets("Feuil1").Shapes
    'si la forme est de type "Forme libre"
    If laShape.Type = 5 Then
        'si le nom de la forme commence par un "F", le faire commencer par "F_"
        If Left(laShape.Name, 1) = "F" Then laShape.Name = "F_" & Right(laShape.Name, Len(laShape.Name) - 1)
    End If
Next laShape
End Sub
a+
 
Re : Renommer des formes libres via une macro?

Waouh! Merci! En un clic ça fonctionne...
Parfait, merci beaucoup.
Juste une question dans le code, pour quoi "If laShape.Type = 5 Then...". C'est quoi le type 5?
Tant que j'y suis, y a-t-il un moyen de selectionner toutes mes formes?
Je voudrais juste les déplacer en fait, sur la même feuille : il me faut plus de place en haut!! Je sais c'est tout con.. Mais Ctrl+A ne fonctionne que pour les cellules.
Encore merci!
 
Re : Renommer des formes libres via une macro?

re,

je t'ai fait un exemple qui montre différents types de formes.
pour sélectionner toutes les formes, je ne connais pas la technique, par contre, sur cet exemple aussi, je t'ai fais une autre macro qui déplace toutes les formes vers le bas d'une certaine valeur (saisie par l'utilisateur).

a+
 

Pièces jointes

Re : Renommer des formes libres via une macro?

Désolée!
Je n'ai pas eu le temps de me pencher sur ta réponse.
Je viens seulement de regarder.
Merci beaucoup pour ces explications...
Mais juste une question, comment je fais pour récupérer ta macro pour faire descendre les formes?
Quand je vais dans le menu macro, je ne trouve aucune des deux... 😕
Merci beaucoup!!
 
Re : Renommer des formes libres via une macro?

euh... j'ai fait des betises...
J'ai ré-éxecuté la macro...:s
Maintenant, mes noms de formes c'est "F__xxxx"... :s
J'essaie d'analyser le
If Left(laShape.Name, 1) = "F" Then laShape.Name = "F" & Right(laShape.Name, Len(laShape.Name) - 1)
comment je fais pour tester que le 3eme caractere est un "_", et si oui, remplacer les 3ers caracteres par "F_"...
J'y arrive pas!! ça m'énerve!!! 😡
 
Re : Renommer des formes libres via une macro?

re,

tu peux essayer avec cette ligne :
Code:
If Left(laShape.Name, [B]3[/B]) = "[B]F__[/B]" Then laShape.Name = "[B]F_[/B]" & Right(laShape.Name, Len(laShape.Name) - [B]3[/B])

a+
 
Re : Renommer des formes libres via une macro?

Encore 1000x merci!!!
... J'ai pas compris pourquoi je n'ai pas trouvé ça toute seule!!!
Je dois réléchir un peu plus là!!! 🙄
Promis, je ne fais plus de bêtises! 😛
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

P
Réponses
0
Affichages
1 K
Ptinotsgnik
P
Réponses
2
Affichages
1 K
L
Réponses
6
Affichages
3 K
lizlizliz
L
Z
Réponses
4
Affichages
3 K
Retour