Bonjour,

voilà mon problème.
J'utilise des macros pour créer des shapes et y intégrer un texte.
Seulement, il est possible que un shape contenant déjà le même texte existe et il ne serait pas utile alors d'en créer un nouveau.

Juqu'à maintenant, j'utilisais un code en boucle :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
                   For Each img In ActiveSheet.Shapes
                        If img.Type = 1 Then
                             If img.TextFrame.Characters.Text = c.Value then exit sub
                        End If
                    Next
Mais je trouve ce code un peu ridicule car il peut faire mouliner beaucoup la machine selon le nombre de shapes.

J'essais donc de trouver une forme avec find
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
                     With ActiveSheet.Shapes.TextFrame.Characters 'ca plante là
                        Set f = .Find("toto")   '(là, quels argument faut il mettre ?
                        If Not f Is Nothing Then
                           MsgBox "cool"
                        End If
                        End With
, mais je n'y arrive pas.

Merci de votre aide
.