Macro VBA sous Access

Clark Devlin -  
 random -
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

  1. N'DRi Franck Alain
     
    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.
    2
  2. Utilisateur anonyme
     
    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  :-)
    0
  3. Clark Devlin
     
    Sinon, est-il possible de travailler sur un tableau de plus de 65536 lignes et au- delà de la colonne IV?
    0
  4. Fofi
     
    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.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Kobaya Messages postés 282 Date d'inscription   Statut Membre Dernière intervention   214
     
    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+.
    0
  7. Fagant Jean-Yves
     
    Bonjour,

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

    Merci de votre aide.
    0
    1. Kobaya Messages postés 282 Date d'inscription   Statut Membre Dernière intervention   214
       
      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.
      0
  8. momo
     
    salut j'ai besoin de lecon sur macro access et merci
    0
  9. fagant jean-yves
     
    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
    0
    1. random
       
      utilises index avec mois(monmois)+n pour déterminer la colonne
      0
  10. random Messages postés 1612 Statut Membre 155
     
    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
    0