Problème fonction application.transpose sur Access
Résolu
AstraLife
Messages postés
99
Statut
Membre
-
f894009 Messages postés 17413 Statut Membre -
f894009 Messages postés 17413 Statut Membre -
Bonjour,
J'ai une ligne de code qui me pose problème, elle fonctionne sous Excel mais je souhaite l'adapter sur Access, et j'ai un message d'erreur sur <Transpose>, (Membre de méthode ou de données introuvable).
La ligne de code d'Excel :
Mon code Access :
J'ai une ligne de code qui me pose problème, elle fonctionne sous Excel mais je souhaite l'adapter sur Access, et j'ai un message d'erreur sur <Transpose>, (Membre de méthode ou de données introuvable).
La ligne de code d'Excel :
feuille.Range("A1").Resize(UBound(base_fichiers, 2), UBound(base_fichiers, 1)) = Application.Transpose(base_fichiers)
Mon code Access :
Private Sub Commande183_Click()
Dim base_fichiers()
Dim oDb As DAO.Database
Dim oRst As DAO.Recordset
Dim Rep_Motam As String
Set oDb = CurrentDb
Set oRst = oDb.OpenRecordset("R_Repertoire")
Rep_Motam = oRst![Rep_Motam]
fichier = Dir(Rep_Motam)
i = 1
While fichier <> ""
ReDim Preserve base_fichiers(5, i)
If Right(fichier, 9) = "MOTAM.csv" Then
base_fichiers(1, i) = fichier
ma_date = DateSerial(Left(fichier, 4), Mid(fichier, 5, 2), Mid(fichier, 7, 2))
base_fichiers(2, i) = Format(ma_date, "mm/dd/yyyy")
base_fichiers(3, i) = Format(ma_date, "ww", vbMonday, vbFirstFullWeek)
base_fichiers(5, i) = Rep_Motam & fichier
'corrige 1ere semaine - de 4 jours
correction = False
If Month(ma_date) = 1 And Format(ma_date, "ww", vbMonday, vbFirstFourDays) > 50 Then
mon_annee_corrigee = Year(ma_date) - 1
correction = True
End If
'corrige 1ere semaine + de 4 jours
If Month(ma_date) = 12 And Format(ma_date, "ww", vbMonday, vbFirstFourDays) < 5 Then
mon_annee_corrigee = Year(ma_date) + 1
correction = True
End If
If correction = False Then mon_annee_corrigee = Year(ma_date)
base_fichiers(4, i) = mon_annee_corrigee
i = i + 1
End If
oRst.Close: Set oRst = Nothing
oDb.Close: Set oDb = Nothing
fichier = Dir
Wend
Set oDb = CurrentDb
Set oRst = oDb.TableDefs("Liste_Fichiers_Enova").OpenRecordset
While Not oRst.EOF
oRst.Delete
oRst.MoveNext
feuille.Range("A1").Resize(UBound(base_fichiers, 2), UBound(base_fichiers, 1)) = Application.Transpose(base_fichiers)
Wend
End Sub
A voir également:
- Problème fonction application.transpose sur Access
- Fonction si et - Guide
- Fonction miroir - Guide
- Fonction remplacer sur word - Guide
- Fonction moyenne excel - Guide
- Acer quick access - Forum Logiciels
Vous voulez ecrire votre tableau dans quoi, une feuille Excel ou ??????
Dans une base Access, je souhaite coller les données de mes variables (base_fichiers..) dans les champs de la table "Liste_Fichiers_Enova"
Cette procédure fonctionne parfaitement dans un classeur excel mais sur access c'est laborieux à consevoir
Ben, c'est uniquement de l'Excel. Vous devez ecrire chaque champ de chaque enregistrement dans votre boucle While
Pourquoi n'ecrivez vous pas directement dans la table ald de faire un fichier????
Je vais tenter, je débute dans les recordset, pas évident.
Ma table comporte 5 champs qui seront toujours les mêmes, par contre les infos qui sont à y coller viennent des variables Base_fichiers décrites plus haut dans mon code et qui sont générées par les libellés des exports, ils peut y en avoir 400 des exports dans le répertoire, il faudra que je saute à la ligne dans la table pour chaque export. (1 ligne de 5 champs pour chaque export).
Pourriez vous m'indiquez juste à quel moment dans le code je dois boucler, je voudrais pour apprendre le réaliser moi même mais je n'ai aucune idée de la ou je dois commencer à boucler.
Je vous fais un exemple en partant de votre code