Problème fonction application.transpose sur Access
Résolu
AstraLife
Messages postés
98
Date d'inscription
Statut
Membre
Dernière intervention
-
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
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