[RESOLU] Changer largeur zone de liste access

Changer largeur zone de liste access [RESOLU] - VB/VBA/VBS - Programmation

Marsh Posté le 02-06-2006 à 09:11:52    

Bonjour,
voila je travaille en VBA sous Access.
Je voudrais savoir s'il est possible en VBA de changer la largeur des colonnes d'une zone de liste ?
Jeprécise que je veux changer la largeur des colonnes et non la largeur de la zone de liste...


Message édité par hacksi le 02-06-2006 à 11:07:18
Reply

Marsh Posté le 02-06-2006 à 09:11:52   

Reply

Marsh Posté le 02-06-2006 à 09:38:11    

Ben tu met ton formulaire en mode édition, tu clic droit dessus ( sur ta zone de liste )
Tu te dirige dans l'onglet Format
et a la 3eme ligne tu as :  Largeurs Colonnes : ( tu peu écrire comme ici : 1,623cm;2,501cm;2,501cm;2cm )
 
Voila je pense que tu peus changer le titre :) et mettre un petit [Résolu]  
répond quand meme pour savoir si ta bien compris la démarche :)
bonne chance

Reply

Marsh Posté le 02-06-2006 à 09:53:48    

ee en en fait ta pas compris ce que je voulais faire. Je veux directement changer la largeur des colonnes avec du code VBA...

Reply

Marsh Posté le 02-06-2006 à 09:58:00    

Et où est le problème hacksi ?
Tu vas me dire qu'avec les infos qu'il t'a donné tu n'es pas capable de faire le code VBA correspondant ?
Tu sais quand même j'espère que les propriétés des objets accessibles via l'interface ont leur équivalent VBA et qu'il suffit d'utiliser F1 en saisie dans l'interface pour en connaître le nom ?

Reply

Marsh Posté le 02-06-2006 à 09:59:45    

oki ben si c ca : tu peu le faire de cette maniere  :
Me.lstResults.ColumnWidths = "920;1418;1418;1134"
( ces chiffres correspondent avec ceux écris dans mon autre réponse en centimetre, ici elles sont en pixel je supose, mais teste d'écrire directement en cm comme ca :  

Code :
  1. Me.lstResults.ColumnWidths = "1,623cm;2,501cm;2,501cm;2cm"

  <= a testé  
 
( lstResults   est le nom de ta zone de liste )
dis moi si ca marche


Message édité par RavenShadoW1 le 02-06-2006 à 10:14:08
Reply

Marsh Posté le 02-06-2006 à 10:07:14    

malheureusement cela ne fonctionne pas.

Reply

Marsh Posté le 02-06-2006 à 10:13:49    

des 2 manieres ??  
 
Me.lstResults.ColumnWidths = "920;1418;1418;1134"  
ou  
Me.lstResults.ColumnWidths = "1,623cm;2,501cm;2,501cm;2cm"  
 ?????????????
 
( j'avais oublié le s a Widths <== ) :/  dsl
 
la premiere marche chez moi :/
mais fo la mettre dans un Private Sub Form_Load() comme ca des le début elle change d'atribue

Reply

Marsh Posté le 02-06-2006 à 10:19:24    

ha voila avec le s ça va tout de suite mieu merci :)

Reply

Marsh Posté le 02-06-2006 à 10:21:54    

Et est-il possible de savoir si une colonne est présente ou non en connaissant son Nom ?

Reply

Marsh Posté le 02-06-2006 à 10:31:58    

comprend pas ce que tu cherche ....

Reply

Marsh Posté le 02-06-2006 à 10:31:58   

Reply

Marsh Posté le 02-06-2006 à 10:33:53    

bin en fait, je n'ai pas toujours les mêmes colonnes dans ma zone de liste. Donc je voudrais savoir s'il est possible de savoir si une colonne est présente ou pas dans la zone de liste sachant que je connais son en-tête ?

Reply

Marsh Posté le 02-06-2006 à 10:41:54    

tu peus faire que selon un choix par txtbox par exemple tu lui associe dans ton code vba :  

Code :
  1. ....
  2. Me.lstResults.RowSourceType = Table / Query
  3. Me.lstResults.RowSource= "SELECT [champ1], [champ2], [champ5], [champ17] FROM MaTable WHERE [MaTable]![champ5]>20; "


 
par exemple... ca t'aide .. ?  
le : Me.xxxx.xxx = xxxx        est tres utile dans un formulaire vbs ..

Reply

Marsh Posté le 02-06-2006 à 10:43:31    

non ça ce n'est pas possible car en fait jai un gros formulaire avec plein de choix possible qui créé ma requête dynamiquement...

Reply

Marsh Posté le 02-06-2006 à 10:50:24    

ouai jsuis entrain de faire pareil ^^
ben dans ce cas, ta requete dinamique tu la met dans une variable :
genre SQL et tu fé un RefreshQuery ( jpense que tu dois avoir le meme programme que moi )  http://cafeine.developpez.com/acce [...] rchemulti/

Code :
  1. ...
  2. Me.lstResults.RowSource= SQL
  3. RefreshQuery
  4. End Sub

Reply

Marsh Posté le 02-06-2006 à 10:54:28    

oui c'est un truc dans ce style, mais a quoi sert RefreshQuery ?

Reply

Marsh Posté le 02-06-2006 à 10:59:25    

Ca sert a rafraishir la zone de liste des que tu fais un choix par checkbox ;)
c'est bien fait et assez utile ..
va voir sur le site que je t'ai donné il y a l'explication du RefreshQuery détaillé

Reply

Marsh Posté le 02-06-2006 à 11:01:10    

ok mais c'est quoi le rapport avec le fait de détecter une colonne ?

Reply

Marsh Posté le 02-06-2006 à 11:03:20    

je te met le code vite fé a toi de le rendre plus consistant lol
 

Code :
  1. Private Sub RefreshQuery()
  2. Dim sql As String
  3. Dim SQLWhere As String
  4. sql = "SELECT Poste, Service, Duree, Cout_TTC, Numero_Demande, Date FROM CONSOTEL Where CONSOTEL!Duree >= 20 "
  5. If Me.chkCout Then
  6.     sql = sql & "And CONSOTEL!Cout_TTC >= " & Me.txtRechCout & " "
  7.        
  8. ' ************ ICI, une utilisation du Me.Moyenne.RowSource ;)  ************ 
  9.         Me.Moyenne.RowSource = "SELECT Avg([Cout_TTC]) AS PrixMoy FROM CONSOTEL WHERE Cout_TTC> " & Me.txtRechCout & ";"
  10. ' ************************************************************************
  11. End If
  12. If Me.chkNumero Then
  13.     sql = sql & "And CONSOTEL!Numero_demande like '" & Me.txtRechNumero & "*' "
  14. End If
  15. ' ******************************* Selection par Date ( du >> au ) ****************************
  16. If Me.chkDate Then
  17.      sql = sql & "And (CONSOTEL!Date BETWEEN #" & Format(Me.txtRechDate, "mm/dd/yyyy" ) & "# AND #" & Format(Me.txtRechDate2, "mm/dd/yyyy" ) & "# )"
  18.    Me.chkDate.Requery
  19. End If
  20. sql = sql & ";"
  21. Me.lstResults.RowSource = sql
  22. Me.lstResults.Requery
  23. End Sub


Message édité par RavenShadoW1 le 02-06-2006 à 11:03:34
Reply

Marsh Posté le 02-06-2006 à 11:05:19    


ok mais c'est quoi le rapport avec le fait de détecter une colonne ?

Reply

Marsh Posté le 02-06-2006 à 11:06:51    

c'est bon ça vent de faire tilt dans ma tête, il suffit juste que je regarde ma requête finale ! pfff que jsuis c..

Reply

Marsh Posté le 02-06-2006 à 11:08:36    

ben oui ^^ c ca que je comprenais pas ou tu voulais en venir :)  
content que t'es trouver une solution :) ;)

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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