cration d'un bouton et association d'une fonction a ce code

cration d'un bouton et association d'une fonction a ce code - VB/VBA/VBS - Programmation

Marsh Posté le 26-05-2005 à 14:05:46    

Bonjour,
J ai un petit probleme. :bounce:  
Je voudrait associé une fonction a un bouton mis dans une feuille excel. Le seul problème c'est que je crée ce bouton dans du code.
Autrement dit, j ai un programme qui me crée un bouton sur une feuille excel, et dans ce meme programme, je voudrais associé à ce bouton, une fonction.
 
J ai essayé avec Worksheets.Shapes(1).OnAction = "mafonction"
mais j ai un peu de mal avec les shapes et je n'arrive pas à récupérer le bouton en shapes
 
Quelqu'un sait comment je pourrai faire?
Merci
 :hello:

Reply

Marsh Posté le 26-05-2005 à 14:05:46   

Reply

Marsh Posté le 26-05-2005 à 16:40:21    

Voici un petit exemple qui fonctionne si le bouton s'appelle Button1 et que le code est placé dans la feuille.
Si le code est ailleurs, il faut préciser le nom de la feuille où est le bouton devant Shapes.

  Dim vI As Variant
  For Each vI In Shapes
    If vI.Name = "Button1" Then
      vI.OnAction = "mafonction"
    End If
  Next vI


Message édité par AlainTech le 26-05-2005 à 16:42:12

---------------
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 26-05-2005 à 17:11:27    

j ai donc fait ce que tu m as conseillé et ca me met l erreur suivante: "Erreur d exécution 1004. Erreur définie par l application ou par l objet"
:cry:
Mon code est le suivant:
    For Each vI In myDocument.Shapes
        If vI.Name = "CommandButton1" Then
            vI.OnAction = "mafonction"   'l'erreur est a cet endroit!!!!!!!
        End If
    Next vI
 
où mydocument est le document ou se trouve le bouton et mafonction est une fonction définie dans ma feuille courante.
Tu vois qq chose??????  
Merci!

Reply

Marsh Posté le 27-05-2005 à 14:17:02    

essaye ce code(en remplacant bien sur mes noms a moi)


' Placement du bouton
ActiveSheet.Buttons.Add(500, 50, 200, 30).Select
' Macro à executer(elle doit etre dans le meme projet bien sure)
Selection.OnAction = "Rafraichir"
' Texte du bouton
Selection.Characters.Text = "Rafraichir"
' Paramètre du texte du bouton
With Selection.Characters(Start:=1, Length:=6).Font
    .Name = "Arial"
    .FontStyle = "Normal"
    .Size = 10
    .Strikethrough = False
    .Superscript = False
    .Subscript = False
    .OutlineFont = False
    .Shadow = False
    .Underline = xlNone
    .ColorIndex = xlAutomatic
End With


VALA !!!  
Si ca marche tu me dcc un mars


Message édité par mbl le 27-05-2005 à 14:17:28
Reply

Marsh Posté le 30-05-2005 à 11:27:08    

houahouuuuuu c est trop genial ca marche..... merci! :jap:  
Comment je me suis pris la tête!!!!!
En fait, (pour ceux qui se prenne aussi la tête) je créais un OLEObjects et je ne sais pas encore pourquoi mais il ne voulait pas associer de OnAction a ce OLEObjects!  
Je ne savais pas non plus que l'on pouvais créer des boutons avec simplement la commande Buttons!
Encore merci!
PS: Pas de pb pour le mars. Ou doit je l'envoyer????

Reply

Marsh Posté le 01-06-2005 à 11:39:42    

Pardon, je voudrais savoir comment peut-on savoir l'action associer à un bouton sur une feuille excel ?


Message édité par cole le 01-06-2005 à 11:40:22
Reply

Marsh Posté le 08-06-2005 à 11:38:27    

bonjour cole!
Tu vas sur le bouton et tu clique à droite. Tu vas sur affecter une macro. Tu vois ainsi à quelle macro est associé ce bouton! Tu peux l'affecter ici à une autre macro si tu veux!

Reply

Marsh Posté le 08-07-2005 à 11:23:44    

a merci je ne pouvais pas parce que le feuille était protégé

Reply

Sujets relatifs:

Leave a Replay

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