Récupérer dans des text/Combo Box le format du doc word

Récupérer dans des text/Combo Box le format du doc word - VB/VBA/VBS - Programmation

Marsh Posté le 25-01-2015 à 23:50:30    

Bonsoir,
 
 
J'ai un document Word sur lequel j'ai placé des textbox et Combobox (avec du VBA) afin de réduire le nombre de saisies manuelles.
 
Savez vous comment je peux (via les propriétés des Box ou un code dans VBA) appliquer automatiquement à toutes les Box le format (type de police et sa taille) du texte du document Word ?
 
En vous remerciant.
 
Yannick

Reply

Marsh Posté le 25-01-2015 à 23:50:30   

Reply

Marsh Posté le 26-01-2015 à 19:08:52    

A priori c'est impossible. Il faut aller dans les propriétés de chaque combobox et textbox afin d'y appliquer les polices et tailles souhaitées.

Reply

Marsh Posté le 26-01-2015 à 20:27:24    

Tu devrais pouvoir faire qq chose comme:
Dans le initialize du formulaire

Code :
  1. for each ctrl in me.controls
  2.     ctrl.font = ...
  3. next ctrl


---------------
il s'appel le ronge me doute
Reply

Marsh Posté le 26-01-2015 à 23:06:55    

Bonsoir,
 
Merci je n'y avait pas pensé. Mes Box sont dans un fichier word mais je vais tester cela tout de suite. Ca pourrait donner un tres bon compromis.

Reply

Marsh Posté le 26-01-2015 à 23:23:48    

Mes box sont dans un document Word, cela doit poser probleme du coup. J'ai essayé de remplacer "me" par activedocument mais sans succes. je vais continuer à tester.
 
Merci pour la piste

Reply

Marsh Posté le 28-01-2015 à 02:59:59    

il faut p-e chercher dans active document.shapes plutot,  
puis tester le ctrl.type = ...un truc qui correspond à une textbox
en utilisant : http://stackoverflow.com/questions [...] -using-vba
et https://msdn.microsoft.com/en-us/li [...] e.12).aspx
et en ayant ça aussi sous les yeux : https://msdn.microsoft.com/en-us/li [...] e.15).aspx
ça donnerai un truc du genre:
 

Code :
  1. for each shape in activedocument.shapes
  2. select case shapes.type
  3.   case msoTextBox
  4.    'on change
  5.    shape.uneprop = ...
  6.   case else
  7.    'on fait rien
  8.   end select
  9. next shape


---------------
il s'appel le ronge me doute
Reply

Marsh Posté le 28-01-2015 à 10:08:16    

Merci beaucoup; je vais regarder tout cela. Car j'ai testé des choses du genre Dim CC as control et du coup CC.font.size=10 et cela renvoie une erreur car il ne comprend pas l'objet. C'est peut etre le mot shape qui me manquait.
 
CDT.


Message édité par yanounou91 le 28-01-2015 à 10:08:46
Reply

Marsh Posté le 29-01-2015 à 22:33:11    

Bonsoir,
 
Cela ne fonctionne pas. Ou du moins je ne parviens pas à l'adapter. le font.size est refusée semble t il.

Reply

Marsh Posté le 29-01-2015 à 22:40:52    

Bonsoir,
 
Pouvez vous me conseiller SVP ?
 
 

Code :
  1. Sub format()
  2.     For Each Shape In ActiveDocument.Shapes
  3.     Select Case Shapes.Type = msoFormControl
  4.       Case msoTextBox
  5.      
  6.        Shape.Font.Size = 10
  7.       Case Else
  8.        'on fait rien
  9.       End Select
  10.     Next Shape
  11. End Sub


 
Il ne parvient pas à trouver le membre de la methode ou les données. Pourtant j'ai bien des text et combo box sur la page word active.
 
J'ai heureusement la solution de changer les polices par les propriétés des textbox dans le mode création.
 

Code :
  1. Sub Format()
  2.     With ActiveDocument
  3.         ComboBox1.Font.Name = "Arial"
  4.         ComboBox1.Font.Size = 14
  5.         'TextBox4.Font.Name = "Arial"
  6.         'TextoBox4.Font.Size = 14
  7.      End With
  8. End Sub


 
Ce code fonctionne,quand on nomme la box, et encore cela ne marche que pour les combobox. Pour la textobox VBA demande un objet requis.
 
Yannick


Message édité par yanounou91 le 29-01-2015 à 22:43:01
Reply

Sujets relatifs:

Leave a Replay

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