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

Former des noms de champ en VBA

2 réponses
Avatar
Jean-Marie VIGNEAUD
Bonjour,

J'ai une table qui s'appelle Diametre avec les champs BC1, BC2 .... BC22.
Je voudrais que le contenu de chacun de ces champs soit affecté dans une
cellule Excel (de A1 à A22) par exemple.

J'ai donc fait le code suivant :

........

Set XL_Classeur =
ClasseurXLS.Workbooks.Open("c:\bouchon\synthese\SyntheseBouchon.xls")
Set bds = CurrentDb
Set rst = bds.OpenRecordset("Diametre", dbOpenDynaset)
rst.MoveFirst
Do Until rst.EOF
For j = 1 To 22
NomChamp = "BC" & j
XL_Classeur.Worksheets("Diametre").Cells(1, i) = rst!NomChamp
Next
....

Je fais ici une boucle pour ne pas avoir à me palucher à la main les 22 noms
de champs que je vais ensuite faire correspondre au 22 cellules excel.
sauf que <Nomchamp= "BC" & j > est le type de concaténation que access
semble ne pas aimer pour former le nom d'un champ que je réexploite sur la
ligne en dessous.

Si vous avez une idée pour la syntaxe.

Cordialement,

Jean-Marie

2 réponses

Avatar
Michel_D
"Jean-Marie VIGNEAUD" a écrit dans le message de news:fq6g0e$f13$
Bonjour,

J'ai une table qui s'appelle Diametre avec les champs BC1, BC2 .... BC22.
Je voudrais que le contenu de chacun de ces champs soit affecté dans une
cellule Excel (de A1 à A22) par exemple.

J'ai donc fait le code suivant :

........

Set XL_Classeur > ClasseurXLS.Workbooks.Open("c:bouchonsyntheseSyntheseBouchon.xls")
Set bds = CurrentDb
Set rst = bds.OpenRecordset("Diametre", dbOpenDynaset)
rst.MoveFirst
Do Until rst.EOF
For j = 1 To 22
NomChamp = "BC" & j
XL_Classeur.Worksheets("Diametre").Cells(1, i) = rst!NomChamp
Next
....

Je fais ici une boucle pour ne pas avoir à me palucher à la main les 22 noms
de champs que je vais ensuite faire correspondre au 22 cellules excel.
sauf que <Nomchamp= "BC" & j > est le type de concaténation que access
semble ne pas aimer pour former le nom d'un champ que je réexploite sur la
ligne en dessous.

Si vous avez une idée pour la syntaxe.



Access n'aime pas travailler comme sur Excel et il te fait savoir, non je rigole
(quoique).

Pourquoi tu n'exporte pas tout simplement ?

Avatar
CErnst
XL_Classeur.Worksheets("Diametre").Cells(1, i) =rst("NomChamp")



"Jean-Marie VIGNEAUD" a écrit dans le
message de news: fq6g0e$f13$
Bonjour,

J'ai une table qui s'appelle Diametre avec les champs BC1, BC2 .... BC22.
Je voudrais que le contenu de chacun de ces champs soit affecté dans une
cellule Excel (de A1 à A22) par exemple.

J'ai donc fait le code suivant :

........

Set XL_Classeur =
ClasseurXLS.Workbooks.Open("c:bouchonsyntheseSyntheseBouchon.xls")
Set bds = CurrentDb
Set rst = bds.OpenRecordset("Diametre", dbOpenDynaset)
rst.MoveFirst
Do Until rst.EOF
For j = 1 To 22
NomChamp = "BC" & j
XL_Classeur.Worksheets("Diametre").Cells(1, i) = rst!NomChamp
Next
....

Je fais ici une boucle pour ne pas avoir à me palucher à la main les 22
noms de champs que je vais ensuite faire correspondre au 22 cellules
excel.
sauf que <Nomchamp= "BC" & j > est le type de concaténation que access
semble ne pas aimer pour former le nom d'un champ que je réexploite sur la
ligne en dessous.

Si vous avez une idée pour la syntaxe.

Cordialement,

Jean-Marie