julien_guy
Messages postés9Date d'inscriptionmardi 23 novembre 2004StatutMembreDernière intervention 3 octobre 2007
-
23 mai 2007 à 22:23
julien_guy
Messages postés9Date d'inscriptionmardi 23 novembre 2004StatutMembreDernière intervention 3 octobre 2007
-
28 mai 2007 à 20:54
Bonjour,
j'ai un problème sur excel.
j'ai des formes (shape) dans mon classeur excel et je veux vérifier si un texte a été ajouté à ma forme.
Par exemple j'ai des rectangles ou des cercles (des formes office), sur certain des textes ont été ajoutés et sur d'autre non.
(Pour info les textes sont ajouté sur la forme en faisant un clic droit et ajouter texte)
Comment distinguer ces deux types de forme ?
j'ai testé la solution suivante
'######################################
Dim Forme as Shape
Set Forme = Selection.ShapeRange.Item(1)
MsgBox Forme.characters.count
'######################################
Si la forme a du texte d'inséré, le code marche sinon j'ai une erreur :
erreur d'exécution '1004':
Impossible de lire la propriété Count de la classe Characters.
merci d'avance
Julien
A voir également:
Vérifier si un texte à été ajouté à une forme excel
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201822 24 mai 2007 à 00:30
Je ne sais pas si ceci peut t'aider, mais bon...
Les Shapes ne sont pas des objets simples avec lesquels travailler.
Pour éviter le genre d'erreur que tu reçois, tu peux utiliser On Error Resume Next qui permet de sauter les erreurs rencontrées dans certains traitements. Ce genre de manipulation est à proscrire en général, mais quelquefois, comme dans le cas des Shapes, c'est assez difficile de s'en passer...
Dim Shp As Shape
On Error Resume Next 'nécessaire à cause de tous les différents types de Shape
For Each Shp In ActiveSheet.Shapes
If Shp.OLEFormat.Object.Text <> "" Then
MsgBox "La forme " & Shp.Name & " contient le texte " & Shp.OLEFormat.Object.Text
End If
Next