Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Michel_D
"Gaspareau" a écrit dans le message de news:
Bonjour
J'ai un tableau EXCEL indiquant l'état de différents tronçons au cours des années
Il est sous la forme :
SECTION 1993 1994 1995 troncon 1 S P TS
Lorsque je le transère automatiquement d'EXCEL vers ACCESS il me monte une table avec comme nom de chanps 1993, 1994, 1995
Je voudrais, si possible, obtenir une table
SECTION ANNEE ÉTAT troncon 1 1993 S troncon 1 1994 P troncon 1 1995 TS
Pour rendre tout ça un peu plus clair, j'ai mis un fichier exemple ici http://cjoint.com/?ijvZwImJut
Merci beaucoup à quiconque prendra quelques minutes de son temps pour m'aider
Dany
Si tu opte pour un traitement sous Access et dans la mesure ou tu n'a pas plus de champ relatif à l'année, tu peux importer vers Access et ensuite utiliser une requête action pour recréer une table via une requête union qui aura réorganisé tes données.
La requête union qui réorganise tes données nommée "zTemp" : SELECT T.SECTION, 1993 AS ANNEE, T.[1993] AS ETAT FROM tExcel AS T UNION SELECT T.SECTION, 1994, T.[1994] FROM tExcel AS T UNION SELECT T.SECTION, 1995, T.[1995] FROM tExcel AS T;
et la requête action qui te crée ta nouvelle table : SELECT zTemp.* INTO NewTable FROM zTemp;
"Gaspareau" <123@234> a écrit dans le message de news:ObeU0As2HHA.464@TK2MSFTNGP02.phx.gbl...
Bonjour
J'ai un tableau EXCEL indiquant l'état de différents
tronçons au cours des années
Il est sous la forme :
SECTION 1993 1994 1995
troncon 1 S P TS
Lorsque je le transère automatiquement d'EXCEL vers ACCESS
il me monte une table avec comme nom de chanps 1993, 1994, 1995
Je voudrais, si possible, obtenir une table
SECTION ANNEE ÉTAT
troncon 1 1993 S
troncon 1 1994 P
troncon 1 1995 TS
Pour rendre tout ça un peu plus clair, j'ai mis un fichier
exemple ici
http://cjoint.com/?ijvZwImJut
Merci beaucoup à quiconque prendra quelques minutes de son temps
pour m'aider
Dany
Si tu opte pour un traitement sous Access et dans la mesure ou tu n'a
pas plus de champ relatif à l'année, tu peux importer vers Access et
ensuite utiliser une requête action pour recréer une table via une
requête union qui aura réorganisé tes données.
La requête union qui réorganise tes données nommée "zTemp" :
SELECT T.SECTION, 1993 AS ANNEE, T.[1993] AS ETAT
FROM tExcel AS T
UNION SELECT T.SECTION, 1994, T.[1994]
FROM tExcel AS T
UNION SELECT T.SECTION, 1995, T.[1995]
FROM tExcel AS T;
et la requête action qui te crée ta nouvelle table :
SELECT zTemp.* INTO NewTable
FROM zTemp;
J'ai un tableau EXCEL indiquant l'état de différents tronçons au cours des années
Il est sous la forme :
SECTION 1993 1994 1995 troncon 1 S P TS
Lorsque je le transère automatiquement d'EXCEL vers ACCESS il me monte une table avec comme nom de chanps 1993, 1994, 1995
Je voudrais, si possible, obtenir une table
SECTION ANNEE ÉTAT troncon 1 1993 S troncon 1 1994 P troncon 1 1995 TS
Pour rendre tout ça un peu plus clair, j'ai mis un fichier exemple ici http://cjoint.com/?ijvZwImJut
Merci beaucoup à quiconque prendra quelques minutes de son temps pour m'aider
Dany
Si tu opte pour un traitement sous Access et dans la mesure ou tu n'a pas plus de champ relatif à l'année, tu peux importer vers Access et ensuite utiliser une requête action pour recréer une table via une requête union qui aura réorganisé tes données.
La requête union qui réorganise tes données nommée "zTemp" : SELECT T.SECTION, 1993 AS ANNEE, T.[1993] AS ETAT FROM tExcel AS T UNION SELECT T.SECTION, 1994, T.[1994] FROM tExcel AS T UNION SELECT T.SECTION, 1995, T.[1995] FROM tExcel AS T;
et la requête action qui te crée ta nouvelle table : SELECT zTemp.* INTO NewTable FROM zTemp;
Philippe.R
Bonjour, Je m'immisce pour proposer une piste de traitement préalable des données sous Excel, avec ces deux procédures à coller dans un module ordinaire du classeur :
Sub conv_table() 'MPFA le 11/08/2007 Application.ScreenUpdating = False Range("B:C").Select Selection.EntireColumn.Insert nbval = 1 For Each c In Range("a2:a" & Range("a1234").End(xlUp).Row) lalig = c.Row + nbval - 1 'IIf(c.Row = 2, 0, 1) dercol = Range("IV" & lalig).End(xlToLeft).Column nbval = Application.CountA(Range(Cells(lalig, 4), Cells(lalig, dercol))) If nbval > 1 Then Range(Cells(lalig + 1, 1), Cells(lalig + nbval - 1, 1)).Select Selection.EntireRow.Insert For Each d In Selection d.Value = d.Offset(-1, 0).Value Next d End If Next c transval Application.ScreenUpdating = True End Sub
Sub transval() 'MPFA le 11/08/2007 For Each c In Range("a2:a" & Range("a1234").End(xlUp).Row) c.Offset(cpt - IIf(cpt = 0, 0, 1), 0).Select Do While Selection.Offset(0, 1) <> "" Selection.Offset(1, 0).Select Loop z = Selection.Row cpt = 0 For Each e In Range(Cells(z, 4), Cells(z, Range("iv" & z).End(xlToLeft).Column)) If e.Value <> "" Then lacol = e.Column Cells(z + cpt, 2).Select Cells(z + cpt, 2).Value = Cells(1, lacol).Value Cells(z + cpt, 3).Value = e.Value cpt = cpt + 1 End If Next e If z = Range("a1234").End(xlUp).Row Then Exit Sub Next c End Sub -- Avec plaisir Philippe.R "Gaspareau" a écrit dans le message de news:
Bonjour
J'ai un tableau EXCEL indiquant l'état de différents tronçons au cours des années
Il est sous la forme :
SECTION 1993 1994 1995 troncon 1 S P TS
Lorsque je le transère automatiquement d'EXCEL vers ACCESS il me monte une table avec comme nom de chanps 1993, 1994, 1995
Je voudrais, si possible, obtenir une table
SECTION ANNEE ÉTAT troncon 1 1993 S troncon 1 1994 P troncon 1 1995 TS
Pour rendre tout ça un peu plus clair, j'ai mis un fichier exemple ici http://cjoint.com/?ijvZwImJut
Merci beaucoup à quiconque prendra quelques minutes de son temps pour m'aider
Dany
Bonjour,
Je m'immisce pour proposer une piste de traitement préalable des données
sous Excel, avec ces deux procédures à coller dans un module ordinaire du
classeur :
Sub conv_table()
'MPFA le 11/08/2007
Application.ScreenUpdating = False
Range("B:C").Select
Selection.EntireColumn.Insert
nbval = 1
For Each c In Range("a2:a" & Range("a1234").End(xlUp).Row)
lalig = c.Row + nbval - 1 'IIf(c.Row = 2, 0, 1)
dercol = Range("IV" & lalig).End(xlToLeft).Column
nbval = Application.CountA(Range(Cells(lalig, 4), Cells(lalig, dercol)))
If nbval > 1 Then
Range(Cells(lalig + 1, 1), Cells(lalig + nbval - 1, 1)).Select
Selection.EntireRow.Insert
For Each d In Selection
d.Value = d.Offset(-1, 0).Value
Next d
End If
Next c
transval
Application.ScreenUpdating = True
End Sub
Sub transval()
'MPFA le 11/08/2007
For Each c In Range("a2:a" & Range("a1234").End(xlUp).Row)
c.Offset(cpt - IIf(cpt = 0, 0, 1), 0).Select
Do While Selection.Offset(0, 1) <> ""
Selection.Offset(1, 0).Select
Loop
z = Selection.Row
cpt = 0
For Each e In Range(Cells(z, 4), Cells(z, Range("iv" &
z).End(xlToLeft).Column))
If e.Value <> "" Then
lacol = e.Column
Cells(z + cpt, 2).Select
Cells(z + cpt, 2).Value = Cells(1, lacol).Value
Cells(z + cpt, 3).Value = e.Value
cpt = cpt + 1
End If
Next e
If z = Range("a1234").End(xlUp).Row Then Exit Sub
Next c
End Sub
--
Avec plaisir
Philippe.R
"Gaspareau" <123@234> a écrit dans le message de
news:ObeU0As2HHA.464@TK2MSFTNGP02.phx.gbl...
Bonjour
J'ai un tableau EXCEL indiquant l'état de différents
tronçons au cours des années
Il est sous la forme :
SECTION 1993 1994 1995
troncon 1 S P TS
Lorsque je le transère automatiquement d'EXCEL vers ACCESS
il me monte une table avec comme nom de chanps 1993, 1994, 1995
Je voudrais, si possible, obtenir une table
SECTION ANNEE ÉTAT
troncon 1 1993 S
troncon 1 1994 P
troncon 1 1995 TS
Pour rendre tout ça un peu plus clair, j'ai mis un fichier
exemple ici
http://cjoint.com/?ijvZwImJut
Merci beaucoup à quiconque prendra quelques minutes de son temps
pour m'aider
Bonjour, Je m'immisce pour proposer une piste de traitement préalable des données sous Excel, avec ces deux procédures à coller dans un module ordinaire du classeur :
Sub conv_table() 'MPFA le 11/08/2007 Application.ScreenUpdating = False Range("B:C").Select Selection.EntireColumn.Insert nbval = 1 For Each c In Range("a2:a" & Range("a1234").End(xlUp).Row) lalig = c.Row + nbval - 1 'IIf(c.Row = 2, 0, 1) dercol = Range("IV" & lalig).End(xlToLeft).Column nbval = Application.CountA(Range(Cells(lalig, 4), Cells(lalig, dercol))) If nbval > 1 Then Range(Cells(lalig + 1, 1), Cells(lalig + nbval - 1, 1)).Select Selection.EntireRow.Insert For Each d In Selection d.Value = d.Offset(-1, 0).Value Next d End If Next c transval Application.ScreenUpdating = True End Sub
Sub transval() 'MPFA le 11/08/2007 For Each c In Range("a2:a" & Range("a1234").End(xlUp).Row) c.Offset(cpt - IIf(cpt = 0, 0, 1), 0).Select Do While Selection.Offset(0, 1) <> "" Selection.Offset(1, 0).Select Loop z = Selection.Row cpt = 0 For Each e In Range(Cells(z, 4), Cells(z, Range("iv" & z).End(xlToLeft).Column)) If e.Value <> "" Then lacol = e.Column Cells(z + cpt, 2).Select Cells(z + cpt, 2).Value = Cells(1, lacol).Value Cells(z + cpt, 3).Value = e.Value cpt = cpt + 1 End If Next e If z = Range("a1234").End(xlUp).Row Then Exit Sub Next c End Sub -- Avec plaisir Philippe.R "Gaspareau" a écrit dans le message de news:
Bonjour
J'ai un tableau EXCEL indiquant l'état de différents tronçons au cours des années
Il est sous la forme :
SECTION 1993 1994 1995 troncon 1 S P TS
Lorsque je le transère automatiquement d'EXCEL vers ACCESS il me monte une table avec comme nom de chanps 1993, 1994, 1995
Je voudrais, si possible, obtenir une table
SECTION ANNEE ÉTAT troncon 1 1993 S troncon 1 1994 P troncon 1 1995 TS
Pour rendre tout ça un peu plus clair, j'ai mis un fichier exemple ici http://cjoint.com/?ijvZwImJut
Merci beaucoup à quiconque prendra quelques minutes de son temps pour m'aider
Dany
Gaspareau
Bonjour
Merci Michel ça fonctionne très bien Effectivement j'ai plus de colonnne d'années mais j'ai ajusté ta requête et tout fonctionne numéro un !!
Tu viens de nous sauver plusieurs heures de travail pas nécessairement très intéressant !!
Bonne journée
"Michel_D" a écrit dans le message de news: f9h3dc$od9$
"Gaspareau" a écrit dans le message de news:
Bonjour
J'ai un tableau EXCEL indiquant l'état de différents tronçons au cours des années
Il est sous la forme :
SECTION 1993 1994 1995 troncon 1 S P TS
Lorsque je le transère automatiquement d'EXCEL vers ACCESS il me monte une table avec comme nom de chanps 1993, 1994, 1995
Je voudrais, si possible, obtenir une table
SECTION ANNEE ÉTAT troncon 1 1993 S troncon 1 1994 P troncon 1 1995 TS
Pour rendre tout ça un peu plus clair, j'ai mis un fichier exemple ici http://cjoint.com/?ijvZwImJut
Merci beaucoup à quiconque prendra quelques minutes de son temps pour m'aider
Dany
Si tu opte pour un traitement sous Access et dans la mesure ou tu n'a pas plus de champ relatif à l'année, tu peux importer vers Access et ensuite utiliser une requête action pour recréer une table via une requête union qui aura réorganisé tes données.
La requête union qui réorganise tes données nommée "zTemp" : SELECT T.SECTION, 1993 AS ANNEE, T.[1993] AS ETAT FROM tExcel AS T UNION SELECT T.SECTION, 1994, T.[1994] FROM tExcel AS T UNION SELECT T.SECTION, 1995, T.[1995] FROM tExcel AS T;
et la requête action qui te crée ta nouvelle table : SELECT zTemp.* INTO NewTable FROM zTemp;
Bonjour
Merci Michel ça fonctionne très bien
Effectivement j'ai plus de colonnne d'années
mais j'ai ajusté ta requête et tout fonctionne
numéro un !!
Tu viens de nous sauver plusieurs heures de
travail pas nécessairement très intéressant !!
Bonne journée
"Michel_D" <michel.NOSPAM@orange-ft.com.invalid> a écrit dans le message de
news: f9h3dc$od9$1@news.rd.francetelecom.fr...
"Gaspareau" <123@234> a écrit dans le message de
news:ObeU0As2HHA.464@TK2MSFTNGP02.phx.gbl...
Bonjour
J'ai un tableau EXCEL indiquant l'état de différents
tronçons au cours des années
Il est sous la forme :
SECTION 1993 1994 1995
troncon 1 S P TS
Lorsque je le transère automatiquement d'EXCEL vers ACCESS
il me monte une table avec comme nom de chanps 1993, 1994, 1995
Je voudrais, si possible, obtenir une table
SECTION ANNEE ÉTAT
troncon 1 1993 S
troncon 1 1994 P
troncon 1 1995 TS
Pour rendre tout ça un peu plus clair, j'ai mis un fichier
exemple ici
http://cjoint.com/?ijvZwImJut
Merci beaucoup à quiconque prendra quelques minutes de son temps
pour m'aider
Dany
Si tu opte pour un traitement sous Access et dans la mesure ou tu n'a
pas plus de champ relatif à l'année, tu peux importer vers Access et
ensuite utiliser une requête action pour recréer une table via une
requête union qui aura réorganisé tes données.
La requête union qui réorganise tes données nommée "zTemp" :
SELECT T.SECTION, 1993 AS ANNEE, T.[1993] AS ETAT
FROM tExcel AS T
UNION SELECT T.SECTION, 1994, T.[1994]
FROM tExcel AS T
UNION SELECT T.SECTION, 1995, T.[1995]
FROM tExcel AS T;
et la requête action qui te crée ta nouvelle table :
SELECT zTemp.* INTO NewTable
FROM zTemp;
Merci Michel ça fonctionne très bien Effectivement j'ai plus de colonnne d'années mais j'ai ajusté ta requête et tout fonctionne numéro un !!
Tu viens de nous sauver plusieurs heures de travail pas nécessairement très intéressant !!
Bonne journée
"Michel_D" a écrit dans le message de news: f9h3dc$od9$
"Gaspareau" a écrit dans le message de news:
Bonjour
J'ai un tableau EXCEL indiquant l'état de différents tronçons au cours des années
Il est sous la forme :
SECTION 1993 1994 1995 troncon 1 S P TS
Lorsque je le transère automatiquement d'EXCEL vers ACCESS il me monte une table avec comme nom de chanps 1993, 1994, 1995
Je voudrais, si possible, obtenir une table
SECTION ANNEE ÉTAT troncon 1 1993 S troncon 1 1994 P troncon 1 1995 TS
Pour rendre tout ça un peu plus clair, j'ai mis un fichier exemple ici http://cjoint.com/?ijvZwImJut
Merci beaucoup à quiconque prendra quelques minutes de son temps pour m'aider
Dany
Si tu opte pour un traitement sous Access et dans la mesure ou tu n'a pas plus de champ relatif à l'année, tu peux importer vers Access et ensuite utiliser une requête action pour recréer une table via une requête union qui aura réorganisé tes données.
La requête union qui réorganise tes données nommée "zTemp" : SELECT T.SECTION, 1993 AS ANNEE, T.[1993] AS ETAT FROM tExcel AS T UNION SELECT T.SECTION, 1994, T.[1994] FROM tExcel AS T UNION SELECT T.SECTION, 1995, T.[1995] FROM tExcel AS T;
et la requête action qui te crée ta nouvelle table : SELECT zTemp.* INTO NewTable FROM zTemp;