Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Tableau dans un état

10 réponses
Avatar
toutenn
Bonjour,

Je dois créer un état contenant un tableau (physique 10 colonnes x 40
lignes) dans lequel je dois faire apparaitre les dates du mois en cours et
dessiner tout un tas de cases vides et servant de titres.

J'ai essayé avec le controle OWC (10 et 11) mais vu le nombre de problèmes
(incompatibilité entre les OS et les versions d'office, les bug selon les
pc,...) j'aimerai créer ce tableau le plus simplement possible.

Mes recherches sur le net ne m'ont pas donné satisfaction : Auriez-vous une
solution simple à me proposer ??

Merci

GuY

10 réponses

Avatar
Gloops
Bonjour,

Le plus simple, c'est que les lignes de détail de l'état constituent les
lignes du tableau.

Sinon peut-être serait-il préférable d'expliciter les contraintes.
Avatar
pascal.cambier
Le samedi 9 juin 2012 09:40:10 UTC+2, toutenn a écrit :
Bonjour,

Je dois créer un état contenant un tableau (physique 10 colonnes x 40
lignes) dans lequel je dois faire apparaitre les dates du mois en cours e t
dessiner tout un tas de cases vides et servant de titres.

J'ai essayé avec le controle OWC (10 et 11) mais vu le nombre de probl èmes
(incompatibilité entre les OS et les versions d'office, les bug selon l es
pc,...) j'aimerai créer ce tableau le plus simplement possible.

Mes recherches sur le net ne m'ont pas donné satisfaction : Auriez-vous une
solution simple à me proposer ??

Merci

GuY



Bonjour GuY,

Quand j'ai des rapports un tant soit peu complexes, je ne pose plus de ques tions : j'utilise VBA automation pour créer ces rapports sous Excel.
«

Option Compare Database
Option Explicit

Sub Exemple_xl_1()
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Dim L As Long
Dim C As Integer

Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = False '(plus rapide dans le cas d'un grand tableau)
xlApp.Calculation = xlCalculationManual ' plus rapide si encodage de formules : elle ne seront calculées qu'à la fin
Set xlBook = xlApp.Workbooks.Add 'dans le cas d'un classeur vierge
' ou Set xlBook = xlApp.Workbooks.Open("x:cheminnom.xlt") 'dans le cas d'un modèle
' Ecrire quelques valeurs
Set xlSheet = xlBook.Worksheets("Feuil1") 'ou son vrai nom dans un modèle (conseillé)

With xlSheet
For L = 1 To 20
For C = 1 To 5
.Cells(L, C) = L ^ C
Next C
Next L
For C = 1 To 5
With .Cells(21, C)
.FormulaR1C1 = "=SUM(R[-20]C:R[-1]C)"
.Font.Bold = True
End With
Next
.Range(xlSheet.Cells(1, 1), xlSheet.Cells(21, 5)).NumberFormat = "$ #,##0"
End With

xlApp.Calculation = xlCalculationAutomatic ' voir plus haut
xlApp.Calculate
xlApp.Visible = True '(s'il avait été à false en début de procédure)
' Libérer les variables objet
Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing
End Sub

Sub Exemple_xl_2()
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Dim L As Long
Dim C As Integer

Dim sSql As String
Dim Rst As New ADODB.Recordset

sSql = "SELECT Tbl_Poste.CP_Code, Tbl_Poste.CP_Localite" _
& " FROM Tbl_Poste;"
Rst.Open sSql, CurrentProject.Connection, adOpenStatic
If Rst.EOF Then
Beep
MsgBox "pas d'enregistrements"
Exit Sub 'pas d'enregistrements
Else
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = False '(plus rapide dans le cas d'un grand tablea u)
xlApp.Calculation = xlCalculationManual '(plus rapide dans le cas d'un grand tableau avec des formules)
Set xlBook = xlApp.Workbooks.Add 'dans le cas d'un classeur vi erge
' ou Set xlBook = xlApp.Workbooks.Open("x:cheminnom.xls") 'dans le cas d'un classeur existant
' ou Set xlBook = xlApp.Workbooks.Open("x:cheminnom.xlt") 'dans le cas d'un modèle
' Ecrire quelques valeurs
Set xlSheet = xlBook.Worksheets("Feuil1") 'ou son vrai nom dan s un modèle (conseillé)

With xlSheet
For L = 1 To Rst.RecordCount
For C = 1 To 2
.Cells(L, C) = Rst(C - 1)
Next C
If Not Rst.EOF Then Rst.MoveNext
Next L
End With
MsgBox "fini ! "
xlApp.Visible = True '(s'il avait été à false en début de procédure)
xlApp.Calculate
xlApp.Calculation = xlCalculationAutomatic
' Libérer les variables objet
Rst.Close
Set Rst = Nothing
Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing
End If
End Sub
»
Avatar
Gloops
a écrit, le 09/06/2012 14:26 :
Bonjour GuY,

Quand j'ai des rapports un tant soit peu complexes, je ne pose plus de questions : j'utilise VBA automation pour créer ces rapports sous Excel .
«
...
»



Salut,

Effectivement c'est une autre technique.

Note bien que parfois, l'intérêt de se poser des questions, c'est qu' on
est susceptible de trouver les réponses ;)
Avatar
pascal.cambier
Le samedi 9 juin 2012 14:30:55 UTC+2, Gloops a écrit :
pascal a écrit, le 09/06/2012 14:26 :
> Bonjour GuY,
>
> Quand j'ai des rapports un tant soit peu complexes, je ne pose plus de questions : j'utilise VBA automation pour créer ces rapports sous Excel.
> «
> ...
> »

Salut,

Effectivement c'est une autre technique.

Note bien que parfois, l'intérêt de se poser des questions, c'est qu' on
est susceptible de trouver les réponses ;)



Certes. Mais mes utilisateurs, à part des "bêtes" listings dont le seu l intérêt est d'avoir une trace écrite, réclament de l'Excel à co rs et à cris (copier/coller, graphes, ...)
J'ai même un programme hyper important pour la société (prévisions des ventes et donc budget, logistique*s*, ...) ou la finalité est un imme nse fichier Excel où, manuellement il faudrait deux semaines pour prépa rer une note hebdomadaire.

Bon donc, je l'admets, c'est une démarche inverse !
Avatar
Gloops
a écrit, le 09/06/2012 16:06 :
Certes. Mais mes utilisateurs, à part des "bêtes" listings dont le seul intérêt est d'avoir une trace écrite, réclament de l'Excel à cors et à cris (copier/coller, graphes, ...)
J'ai même un programme hyper important pour la société (prévisi ons des ventes et donc budget, logistique*s*, ...) ou la finalité est u n immense fichier Excel où, manuellement il faudrait deux semaines pour préparer une note hebdomadaire.

Bon donc, je l'admets, c'est une démarche inverse !




Ah ben oui si le client réclame de l'export Excel on lui fait de
l'export Excel.
Là, le seul cas où je l'ai mauvaise, c'est quand le client attend que ce
soit fait pour réaliser que c'est trop cher. Si si, véridique.
Avatar
toutenn
Le plus simple, c'est que les lignes de détail de l'état constituent les
lignes du tableau.
Sinon peut-être serait-il préférable d'expliciter les contraintes.



Je crois bien que je vais devoir tout dessiner (étiquettes, cadres, ....),
je vais passer encore bien du temps ...

J'aime quand l'info facilite la vie !!!!
Avatar
toutenn
Quand j'ai des rapports un tant soit peu complexes, je ne pose plus de
questions : j'utilise VBA automation pour créer ces rapports sous Excel.





J'utilise ce principe pour de gros volumes de données, surtout qu'Access
dispose de l'ETAT normalement dédier à l'impression : Pourquoi faire de
l'exportation pour des cas simples !!!

Bien dommage qu'il n'existe pas un controle GRID dans access comme dans VB6
par exemple ...

Merci
Avatar
Gloops
toutenn a écrit, le 10/06/2012 11:28 :
Quand j'ai des rapports un tant soit peu complexes, je ne pose plus
de questions : j'utilise VBA automation pour créer ces rapports sou s
Excel.





J'utilise ce principe pour de gros volumes de données, surtout qu'Acc ess
dispose de l'ETAT normalement dédier à l'impression : Pourquoi fair e de
l'exportation pour des cas simples !!!

Bien dommage qu'il n'existe pas un controle GRID dans access comme dans
VB6 par exemple ...

Merci



Si les données sont dans une table je verrais bien un sous-état.
Autrement vérifie si dans les références disponibles tu ne trouves pas
ton bonheur. (Depuis un module, menu Outils, commande références)
Avatar
pascal.cambier
Le dimanche 10 juin 2012 15:24:12 UTC+2, Gloops a écrit :
toutenn a écrit, le 10/06/2012 11:28 :
>>> Quand j'ai des rapports un tant soit peu complexes, je ne pose plus
>>> de questions : j'utilise VBA automation pour créer ces rapports sou s
>>> Excel.
>
> J'utilise ce principe pour de gros volumes de données, surtout qu'Acc ess
> dispose de l'ETAT normalement dédier à l'impression : Pourquoi fair e de
> l'exportation pour des cas simples !!!
>
> Bien dommage qu'il n'existe pas un controle GRID dans access comme dans
> VB6 par exemple ...
>
> Merci

Si les données sont dans une table je verrais bien un sous-état.
Autrement vérifie si dans les références disponibles tu ne trouves pas
ton bonheur. (Depuis un module, menu Outils, commande références)



Ah oui, sous-état, bonne idée
Avatar
Gloops
a écrit, le 11/06/2012 12:34 :
Si les données sont dans une table je verrais bien un sous-état.
Autrement vérifie si dans les références disponibles tu ne trouv es pas
ton bonheur. (Depuis un module, menu Outils, commande références)



Ah oui, sous-état, bonne idée



Eh oui, c'était ce que j'avais dans la tête en proposant d'y réflé chir,
avec même un exemple de l'année dernière ...