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