Sub EcritNomDepart()
  For Each c In [départ]
  If c <> "" Then ecritShape "fr-" & c, c.Offset(, 2) & Chr(10) & c
  Next c
  c = "54": ecritShape "fr-" & c, "Meurthe-" & Chr(10) & "Moselle", "Bas"
  c = "90": ecritShape "fr-" & c, "TB"
  c = "192": ecritShape "fr-" & c, "Hauts-Seine", , "Gauche"
  c = "175": ecritShape "fr-" & c, "Paris"
  c = "193": ecritShape "fr-" & c, "Seine-st-Denis"
  c = "194": ecritShape "fr-" & c, "Val de Marne"
End Sub
 
Sub ecritShape(nomShape, Libellé, Optional posVert, Optional posHoriz)
    Application.Volatile
    With ActiveSheet.Shapes(nomShape).TextFrame2.TextRange
        .Characters.Text = Libellé
        .Characters.Font.Size = 6
        If IsMissing(posVert) Then
          .Parent.VerticalAnchor = msoAnchorMiddle
        Else
          If posVert = "Bas" Then
           .Parent.VerticalAnchor = msoAnchorBottom
          Else
           .Parent.VerticalAnchor = msoAnchorMiddle
          End If
        End If
        If IsMissing(posHoriz) Then
          .Parent.HorizontalAnchor = msoAnchorCenter
        Else
          If posHoriz = "Gauche" Then
           .Parent.HorizontalAnchor = msoAnchorNone
          Else
           .Parent.HorizontalAnchor = msoAnchorCenter
          End If
        End If
     End With
End Sub