Problème avec une macro sous Excel

Fermé
scoubi05 Messages postés 4 Date d'inscription mercredi 24 juin 2009 Statut Membre Dernière intervention 5 juillet 2009 - 25 juin 2009 à 08:45
m@rina Messages postés 21297 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 25 janvier 2025 - 5 juil. 2009 à 23:51
Bonjour,

Je rencontre actuellement un problème avec une macro sur une liste déroulante sur mon fichier Excel.

J’ai créé une liste déroulante proposant 2 choix : « oui » et « non ».

A cette liste déroulante j’ai affectée une macro qui à pour but de :

Lorsque le « oui » est sélectionner, un Wordart apparaît sur la page. Et lorsque le « non » est sélectionner rien n’apparaît.

Le problème est le suivant : Lorsque je sélectionne « oui », la macro me fait bien affiché le wordart, par contre lorsque de suite après je sélectionne le « non », la macro n’arrive pas à m’effacer le wordart.



Extrait de ma macro :



valeur = Range("DA1").Value



If (valeur = 1) Then



ActiveSheet.Shapes.AddTextEffect(msoTextEffect1, "ONGLET TRAITE", "Arial Black" _

, 36#, msoFalse, msoFalse, 268.5, 189#).Select

Selection.ShapeRange.IncrementRotation -19.98

Selection.ShapeRange.IncrementLeft -60#

Selection.ShapeRange.IncrementTop -66.75



End If





If (valeur1 = 2) Then



ActiveSheet.Shapes("WordArt 135").Select

Selection.Delete

End If



Fin extrait macro.



Le problème c’est le numéro du WordArt, il n’est pas fixe. Ici il a 135...mais si je re-sélectionne le lendemain « oui », il aura un autre numéro...136 ou 137...Et donc j’aurais une erreur dans le script.



Merci de m’aider à régler ce problème.



Cordialement »
A voir également:

2 réponses

thev Messages postés 1943 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 14 janvier 2025 697
25 juin 2009 à 14:50
If (valeur = 2) Then

    For Each objet_wordart In ActiveSheet.Shapes
        objet_wordart.Delete
    Next objet_wordart

End If
0
scoubi05 Messages postés 4 Date d'inscription mercredi 24 juin 2009 Statut Membre Dernière intervention 5 juillet 2009
5 juil. 2009 à 22:51
Bonjour,

Merci pour votre aide...mais maintenant le problème est le suivant :

J'ai une liste de choix où je dois choisir oui ou non.

Maintenant Si je choisi "oui" le Wordart apparait par contre si je choisi "Non", le wordart disparait ainsi que ma liste de choix...de ce fait je ne peux plus modifier mon choix et donc repassé en réponse "Oui".

Merci pour votre aide

cordialement
0
m@rina Messages postés 21297 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 25 janvier 2025 11 383
5 juil. 2009 à 23:51
Bonsoir,

Ben oui, tout ces objets sont des SHAPE, donc tous les objets graphiques, contrôles compris, seront supprimés ! :D

Remplace par :

For Each wordart In ActiveSheet.Shapes
If Left(wordart.Name, 7) = "WordArt" Then
wordart.Delete
End If
Next


Pourt un code correct, n''oublie pas de déclarer les variables (Dim Wordart as shape)
0