Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3467 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Recureper la Value textbox

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Recureper la Value textbox

n°1587130
stadedelaf​ougere
Posté le 16-07-2007 à 15:12:39  profilanswer
 

Bonjour ä tous.
 
Bon, cela fait quelques temps que je galere sur une des choses les plus elementaires de VBA j'imagine, a savoir: comment recuperer la valeur d'une textbox pour ensuite l'utiliser afin de deposer automatiquement un objet (un cercle dans mon cas) a des coordonnees choisies par l'utilisateur( qui rempli donc des textbox)? Je precise, je bosse sur visio...
 
Le code (qui ne marche pas bien sur) donne a peu pres ca:
Public Sub TestDropShape()
 
Dim stencil As Visio.Document, mstCircle As Visio.Master
 
Dim Xcoord As Double
Dim Ycoord As Double
Xcoord = Val(TextBox1.Text)
Ycoord = Val(TextBox2.Text)
 
Set stencil = ThisDocument.Application.Documents.Open("Blocks Raised.vss" )
ThisDocument.Application.Windows(ThisDocument.Index).Activate
' Set the ActiveWindow to the drawing window.
Set mstCircle = stencil.Masters("Kreis" )
' Get the master named "Kreis" and drop that shape on the page!
ThisDocument.Pages(1).Drop mstCircle, Xcoord, Ycoord ' Drop the shape, mstCircle,
End Sub
 
 
Etant assez nouveau dans cette programmation, soyez indulgents avec moi, lol
Bonne journee a tous.

mood
Publicité
Posté le 16-07-2007 à 15:12:39  profilanswer
 

n°1587136
jpcheck
Pioupiou
Posté le 16-07-2007 à 15:19:43  profilanswer
 

où ca ca ne marche pas ? quelle ligne  t'envoie ch*** ?

n°1587190
stadedelaf​ougere
Posté le 16-07-2007 à 16:30:43  profilanswer
 

En fait j'ai essaye pas mal de configurations en declarant les Xcoord et Ycoord en divers endroits, mais au final, le probleme se situe ä la derniere ligne, dans le :
ThisDocument.Pages(1).Drop mstCircle, Xcoord, Ycoord '  
 
Le cercle apparait toujours en =,=, ce qui signifierai que Xcoord=Ycoord=0
pourtant, et je demande ä ce que le programme l'affiche dans une textbox, que ces valeurs soient non nulles...

n°1587194
tegu
Posté le 16-07-2007 à 16:41:19  profilanswer
 

Si tu mets un point d'arrêt sur « Xcoord = Val(TextBox1.Text)  » et que tu exécutes en pas-à-pas, quelles valeurs vois-tu dans TextBox1.Text et Val(TextBox1.Text) ?

 

edit : F9 pour mettre un point d'arrêt sur la ligne active et F5 pour lancer le programme et F8 pour le pas-à-pas une fois à partir du point d'arrêt


Message édité par tegu le 16-07-2007 à 16:42:50
n°1587200
stadedelaf​ougere
Posté le 16-07-2007 à 16:53:48  profilanswer
 

En fait ce qui ce passe c'est que je lance tout ca depuis un userForm, du coup je rentre la valeur dans la textbox1 et le programme doit l'extraire pour l'utiliser ensuite.
 
Lors du pas ä pas, mis ä part le " Run Time error 424" Object Required, rien de bien particulier.
 
Je fais apparaitre Textbox1.text dans une 3eme textbox et val(textbox1.text) dans un autre et les bonne valeurs '( celles que j
' ai rentrees) apparaissent.
 
Seulement ces valeurs apparaissent car elles sont directement liees ä des evenements ( commandbutton) alors que le dropcircle est appele par un commandbutton par l'intermediaire d'une procedure.
 
Enfin voila

n°1587222
tegu
Posté le 16-07-2007 à 17:20:52  profilanswer
 

C'est marrant ce qu'il faut d'ingéniosité pour faire dire à quelqu'un le message d'erreur qu'il a.
Maintenant on sait qu'il s'agit d'un "Run Time error 424" Object Required  ;)
 
Et ce message apparaît quand tu fais F8 sur la ligne « ThisDocument.Pages(1).Drop mstCircle, Xcoord, Ycoord » ?
Si oui je ne vois pas le rapport avec tes textbox.
Plutôt un problème avec Pages(1) ou mstCircle voire carrément ThisDocument (ça serait dommage).

n°1587234
stadedelaf​ougere
Posté le 16-07-2007 à 17:38:21  profilanswer
 

Non, ca apparait au niveau de Xcoord = Val(TextBox1.Text)
Si je laisse le curseur sur la ligne, je vois alors Xcoord=0 ce qui est ...coment dire..tres ennuyeux.
le probleme vient pas (enfin je crois) des pages(19 ou thisDocument, car le cercle apparait mais aux coordonnees 0,0 au lieu de celles que je lui donne.

n°1587413
stadedelaf​ougere
Posté le 17-07-2007 à 08:35:18  profilanswer
 

J'ai trouve une solution ( je ne dis pas qu'elle est vraiment bonne mais elle marche)
 
J'attribue la valeur ä Xcoord et Ycoord en dehors de ma procedure, juste avantz d'appeler la fonction.
 
Dans la partie declaration du module, je declare Xcoord et Ycoord comme Public, a l'image de ce qui suit:
 
 
Public Xcoord As Double
Public Ycoord As Double
 
 
Public Sub TestDropShape()
 
Dim stencil As Visio.Document, mstCircle As Visio.Master
 
 
 
Set stencil = ThisDocument.Application.Documents.Open("Blocks Raised.vss" )
ThisDocument.Application.Windows(ThisDocument.Index).Activate
' Set the ActiveWindow to the drawing window.
Set mstCircle = stencil.Masters("Kreis" )
' Get the master named "Kreis" and drop that shape on the page!
ThisDocument.Pages(1).Drop mstCircle, Xcoord, Ycoord ' Drop the shape, mstCircle,
End Sub
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Recureper la Value textbox

 

Sujets relatifs
[JS] Checké un champ si sa value est égal à 100 ?[HTML] Augmenter largeur input textbox
Régler la largeur d'une textboxbesoin d'aide pour creation textbox et label en dynamique
[Erreur] Creating default object from empty valueMySQL et default value = chaine vide
[JS] problème de récupération de value d'un champ texte[VB Access]Supprimer un élément d'un textbox
Date hors période dans TextBoxremplir textbox depuis base de donnees
Plus de sujets relatifs à : Recureper la Value textbox


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)