Bonsoir Ge0ffroy,
Comment as-t-il fait (celui qui a créé cette macro) pour nommer ces départements ?
Excel donne automatiquement un numéro (croissant) à chaque type de forme.
Si l'on veut nommer autrement une forme on peut par clic droit sur la forme puis Format de la Forme (menu d'Excel) puis Volet Sélection, lui choisir un nom.
On peut aussi changer le nom d'une forme par VBA. Exemple, le Dpt10 sera nommé Aube. Par:
ActiveSheet.Shapes("Dpt10").Name = "Aube"
Comment insérer ce nom "quimper" (de chaque ville) dans userform?
Il est déjà possible d'automatiser le placement des noms des préfectures sur la carte.
Par le code ci-dessous: avec la possibilité d'utiliser la colonne K pour le placement sur la forme et la colonne L pour la préfecture.
Attention seulement aux dpts Corse.
Sub TextForme()
'Note: Ici le texte Quimper sera placé au bas de la forme grâce à TwoLine
Dim OneLine, TwoLine As String
'Trois possibilités: Placemennt par défaut du texte en haut de la forme
'Oneline = texte au milieu de la forme. TwoLine = texte au bas de la forme
OneLine = "" & Chr(13)
TwoLine = "" & Chr(13) & "" & Chr(13)
'Placement du texte, couleur, taille, position left et alignement. Important, pour Excel 2007 changer TextFrame2 par TextFrame.
With ActiveSheet.Shapes("Dpt29").TextFrame2.TextRange.Characters
.Text = TwoLine & "Quimper" 'ou Range("K & N°Dpt + 2) & Range("L" & N°Dpt + 2)
.Font.Fill.ForeColor.RGB = RGB(255, 0, 0)
.Font.Size = 8
.ParagraphFormat.FirstLineIndent = 3
.ParagraphFormat.Alignment = msoAlignCenter
End With
End Sub
Si tu souhaites afficher dans le formulaire la préfecture, il faudra ajouter un contrôle TextBox. Et faire référence à la ligne de la colonne L (ici 31 pour le dpt 29)
J'ai réalisé le code pour les dernières versions d'Excel. Je regarderais mieux demain soir pour Excel 2007.