Pb VBA sur Excel 2000

Pb VBA sur Excel 2000 - VB/VBA/VBS - Programmation

Marsh Posté le 01-03-2005 à 08:39:10    

Je voudrais pouvoir modifier la taille de la fenêtre d'un commentaire à l'aide d'une macro. Le bout de macro suivant :
------------------------------------------------------------------------
   Range("A1" ).AddComment
    Range("A1" ).Comment.Visible = False
    Range("A1" ).Comment.Text Text:="toto"
    Selection.ShapeRange.ScaleHeight 0.35, msoFalse, msoScaleFromTopLeft

------------------------------------------------------------------------
obtenu à partir de l'enregistreur de macro de Excel 2000 se plante systématiquement sur la quatrième ligne.
 
Pourquoi, Excel refuse-t-il se qu'il a lui même enregistré ?
et comment faire pour "faire passer" cette instruction ?
Merci d'avance à celui qui pourra m'aider.

Reply

Marsh Posté le 01-03-2005 à 08:39:10   

Reply

Marsh Posté le 01-03-2005 à 12:49:02    

euh t sur de ta troisieme ligne??? essaie plutot
Range("A1" ).comment.text="toto"
 
Sinon je vois pas trop

Reply

Marsh Posté le 01-03-2005 à 13:10:15    

Non, c'est bien ça.
La macro s'exécute bien jusqu'à la troisième ligne (le commentaire "toto" est bien créé, mais ça se plante sur la quatrième en signalant "erreur d'exécution 1004, erreur définie par l'application ou par l'objet".
Merci quand même.

Reply

Marsh Posté le 01-03-2005 à 13:19:58    

euh et en mettant scaleheight=0.35???

Reply

Marsh Posté le 01-03-2005 à 14:07:53    

Il se bloque alors sur la virgule qui suit 0,35 et m'indique "erreur de compilation, attendu : fin d'instruction" et si je remplace "," par ":" il m'indique "utilisation incorrect de la propriété".

Reply

Marsh Posté le 01-03-2005 à 14:11:42    

faut peut etre mettre entre parenthese(dsl de t'aider si peu mais en fait c paske je connais pas la fonction et je te donne les idees ki me passe par la tete):d

Reply

Marsh Posté le 01-03-2005 à 14:31:28    

Je te remercie.
Ce qui est étonnant et fait que je bloque, c'est que la macro telle que je l'ai écris ci-dessus est tout droit sortie de l'enregistreur d'Excel, sans aucune retouche de ma part. Elle ne peut donc pas comporter d'erreur de syntaxe. Je pense que le pb est plus profond que ça...

Reply

Marsh Posté le 01-03-2005 à 14:33:59    

et tu as essaye de mettre un
      with selection.....
           .msofalse
           .msoScaleFromTopLeft
      end with  
et si c pas ca alors la g plus aucune idee lool
     

Reply

Marsh Posté le 01-03-2005 à 16:58:24    

non, rien à faire.
Merci quand même, c'est sympa...
A+

Reply

Marsh Posté le 04-03-2005 à 23:26:02    

Idem en Excel 97


---------------
Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!
Reply

Marsh Posté le 04-03-2005 à 23:26:02   

Reply

Marsh Posté le 05-03-2005 à 00:18:07    

j'avais eu un pb "similaire" avec Excel 97 : quand je demandais la copie d'une feuille, plantage, même erreur :/ En fait, la solution c'était d'appeler la méthode Activate de la feuille, avant de faire la copie [:spamafote] et ca marchait alors [:spamafote]


---------------
Filmstory : gardez trace des films que vous avez vu ! :D
Reply

Marsh Posté le 05-03-2005 à 08:14:47    

bonjour,
La macro suivante suppose qu'il existe déjà un commentaire en "A1"
 
Sub test()
Range("A1" ).Comment.Visible = True   'obligatoire sinon erreur
Range("A1" ).Comment.Text Text:="roger"
On Error Resume Next   'si le commentaire est déjà sélectionné...
Range("A1" ).Comment.Shape.Select
Selection.ShapeRange.ScaleHeight 0.35, msoFalse, msoScaleFromTopLeft
End Sub
 
A+

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed