Macro VBA sous Access

Bonjour!
Comment fait-on pour appliquer une macro, écrite en VBA sous Excel, à un tableau sous Access?
Problème: la taille du tableau est trop volumineuse pour Excel.
Merci

10 réponses

  • Votes
  • Date
  • Date décroissante
  1. Astuces Avec les macro,formulaires,Requêtes sous Access 97 à Access 2003. Je voudrai SVP avoir des astuces car je fais des études sur les bases de données Access.
    1. Salut,

      Je crois que tu dois la reprogrammer. Les tableau Access n'ont pas les mêmes possibilités que sous Excel....

      Tout dépend de ce que fait ta macro Excel. Si elle ne fait que manipuler des données, ça sera facile. Si elle modifie de formats d'affichage, oublie..

      Rien n'est plus dangereux qu'une idée quand on a 
      qu'une idée  :-)
      1. Sinon, est-il possible de travailler sur un tableau de plus de 65536 lignes et au- delà de la colonne IV?
        1. Je recherche des cours complets sur la Macro sur Access.C'est vraiment urgent.Merci d'avance. Ps: me les envoyer sur mon adresse email.
          1. Salut,

            Utilise la base ACCESS juste pour stocker les données.
            Ensuite tu peux alimenter des tableaux croisés dynamiques, par exemple, avec cette base ACCESS, en utilisant les liaisons ADO.
            Ou simplement, faire une requête qui ne ramène que les lignes qui t'intéresse (moins de 65536) avec un recordset, et tu les traite avec ta maco.

            A+.
            1. Bonjour,

              Je voudrais à la fin d'une une macro access (2002), faire ouvrir un fichier excel.

              Merci de votre aide.
              1. salut,

                voici une procédure pour créer une instance Excel.
                suivant ce que tu veux faire, il te faudra peut-être déclarer les variables objet XL et WB au niveau module.

                Sub LiaisonEXCEL()
                Dim XL As Excel.Application
                Dim WB As Excel.Workbook

                On Error GoTo Err_

                ' utilisation d'une instance EXCEL existante
                Set XL = GetObject(, "Excel.Application")
                ' ajout d'un classeur
                XL.Workbooks.Add

                ' pour ouvrir un classeur, c'est
                ' XL.Workbooks.Open("C:\chemin\MonClasseur.xls")

                Set WB = XL.ActiveWorkbook

                ' sélectionnner tout le document
                Selection.ExtendMode = False
                Selection.HomeKey Unit:=wdStory
                Selection.Expand Unit:=wdStory
                Selection.Copy

                ' coller dans Excel
                WB.ActiveSheet.Paste
                ' répartir les données sur plusieurs colonnes
                WB.ActiveSheet.Columns(1).TextToColumns DataType:=xlDelimited, semicolon:=True

                Set XL = Nothing: Set WB = Nothing
                Exit Sub

                Err_:
                If Err = 429 Then
                ' création d'une instance EXCEL
                Set XL = GetObject("", "Excel.Application")
                Resume Next
                Else
                MsgBox Err.Description & vbLf & "dans la procédure test", vbCritical, ActiveDocument.Name
                Resume
                End If
                Set XL = Nothing: Set WB = Nothing
                End Sub

                A+,
                Kobaya.
            2. Bonjour à tous.

              Pouvez vous m aider, je désire incorporer une variable colonne pour éviter de modifier l adresse "F3" qui evolue tous les mois ( G3,H3 ...)

              ' trier la plage sur la derniere colonne, par ordre décroissant.
              Selection.Sort Key1:=Range("f3"), Order1:=xlDescending, Header:=xlNo, _
              OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

              Merci d avance
              Salutations
              1. utilises index avec mois(monmois)+n pour déterminer la colonne
            3. en géneral les macros excel parcourent un range et travaillent les données
              sous access tu as deux possibilites
              ecrire une fonction qui prend en paramètres les champs de ta table
              et utiliser cette fonction dans une requête
              sinon écrire une procedure qui va parcourir les données et les modifier
              regarde la doc access vba à move