Forme libre et VBA

Salut à tous,

J'essaie d'utiliser des formes libre pour une carte des villes (compteur de clients par villes), comme beaucoup d'autre..., mais j'ai besoin d'un petit coup de pouce.

Que faut il faire pour utiliser des formes libre comme des formes standard dans vba.

Ex, le code suivant fonctionne avec des formes standards, mais pas pour les formes libres pour TextFrame.Characters.Text.

Sub carte_ville_nbre_clients()
Dim ligne As Integer
  For ligne = 4 To 78
  On Error Resume Next
  Shapes(CStr(Sheets("Boxs Ext").Cells(ligne, 6))).Fill.ForeColor.RGB = Sheets("Boxs Ext").Cells(ligne, 6).DisplayFormat.Interior.Color
  Shapes(CStr(Sheets("Boxs Ext").Cells(ligne, 6))).TextFrame.Characters.Text = Sheets("Boxs Ext").Cells(ligne, 6)
  Next ligne
End Sub

j'ai bien sur fouiné partout avant d'ouvrir ce poste, mais sans succès.

Bonjour,

Voici une démo pour écrire une info dans une forme libre, ici suite à un clic sur une des ville de Guadeloupe.

demo ecrire shape

Le code est simplex, mais ce n'est qu'une démo (qui-ne-sert-à-rien-d'autre) :

Sub CLIC(Optional x As Byte)
Dim Id As Integer, Txt As String

    Id = Split(Application.Caller, "_")(1)
    Txt = Sheets("Base").Range("C" & Id + 1).Value

    With Sheets("Carte").Shapes(Application.Caller)
        .TextFrame2.MarginTop = (.Height / 2) + 24
        .TextFrame2.MarginLeft = .Width - Len(Txt) * 3
        .TextFrame2.TextRange.Characters.Text = Txt
    End With
End Sub

Pierre

Merci pierrep56, c'est pas loin de ce qu'il me faut.

Je vais essayer d'adapter ton code à mon projet.

Rechercher des sujets similaires à "forme libre vba"