Macro en VBA import des données vers Acess

Fermé
madjon6 Messages postés 262 Date d'inscription mercredi 2 janvier 2008 Statut Membre Dernière intervention 30 novembre 2017 - 20 nov. 2008 à 09:48
wilfried_42 Messages postés 907 Date d'inscription mardi 19 août 2008 Statut Contributeur Dernière intervention 8 décembre 2009 - 26 nov. 2008 à 20:08
Bonjour,

Je voudrais savoir par quel moyen je pourrais mettre à jour une table (Un fichier access) à partir d'un fichier excel à l'aide d'une macro ou VBA ou autre.

Pour exemple je vous ai joints 2 fichiers : un acces et l'autre excel
L'idée serait que le fichier excel se déverse dans le fichier access.

Merci pour votre aide.
Mad
A voir également:

8 réponses

blux Messages postés 26489 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 novembre 2024 3 315
20 nov. 2008 à 09:55
Salut,

tu peux peux voir la macro 'TransférerFeuilleCalcul', elle devrait te convenir.

Pour exemple je vous ai joints 2 fichiers : un acces et l'autre excel
Il n'y a pas de pièces jointes dans ce forum...
0
madjon6 Messages postés 262 Date d'inscription mercredi 2 janvier 2008 Statut Membre Dernière intervention 30 novembre 2017 79
20 nov. 2008 à 10:12
Bonjour,

Oui désolé c'est un copier coller.

Comment je dois procéder pour que les données importée d'excel n'éface pas les données existantes dans le fichier acces mais viennent à la suite.

Merci
0
blux Messages postés 26489 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 novembre 2024 3 315
20 nov. 2008 à 10:38
La macro ajoute les données à celles existantes...
0
madjon6 Messages postés 262 Date d'inscription mercredi 2 janvier 2008 Statut Membre Dernière intervention 30 novembre 2017 79
20 nov. 2008 à 11:18
Mais la macro n'existe pas encore et aucune relation entre acess et excel n'est créee.

Mad
0
blux Messages postés 26489 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 novembre 2024 3 315
20 nov. 2008 à 16:33
Si c'est pour une importation, pas besoin, par contre si c'est pour établir un 'temps réel' entre les modifs d'excel et leur placage sur access, c'est une autre paire de manches...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
madjon6 Messages postés 262 Date d'inscription mercredi 2 janvier 2008 Statut Membre Dernière intervention 30 novembre 2017 79
26 nov. 2008 à 12:49
Bonjour,

Ben je voudrais de façon à ce qu'une ou 2 fois par mois mettre à jour une table access depuis excel sans que les données existantes s'éffacent.
0
blux Messages postés 26489 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 novembre 2024 3 315
26 nov. 2008 à 13:27
donc, il faut voir ce que j'ai dit au début...
0
wilfried_42 Messages postés 907 Date d'inscription mardi 19 août 2008 Statut Contributeur Dernière intervention 8 décembre 2009 244
26 nov. 2008 à 17:39
Bonjour à tous

Voici un lien, qui va te permettre de voir ce que fait la macro postée (Macro complémentaire)

J'ai depuis fais evolué cette macro afin de faire des sauvegardes de mes données excel sur un Base de donnée Acces, je la posterai ce soir ou demain (je suis au boulot et je n'ai pas ma macro ici)
https://www.excel-downloads.com/threads/contibution-excel-gere-acces.105686/#post612917
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
26 nov. 2008 à 18:29
Bonjour à tous,

Ci joint une procédure tirée de mon grenier (ca nous rajeunit pas!); Excuses moi Wilfried de ne pas attendre ta proposition , mais justement ca me rajeunit en repensant au boulot/ADO effectué avec MichelXLD et Thierry

Attention si lidentifiant de la table cible est un numéroauto!!! dans ce cas ne pas importer de données Excel dans ce champ...

Sub importer_Excel_Access()
    'Michel_M 19/05/04 pour Excel-downloads
    'a partir du site de Fred Sigonneau (Merci)
    Dim tabase As Object
    Dim requete As Object
    Dim laTable As String
    Dim lig As Long, cptr As Long
    Dim deb As Byte ' début avant ligne 256 sinon type integer
    
    laTable = "nomde_latablecible_danstabase"
    Set tabase = CreateObject(ADODB.Connection)
    Set requete = CreateObject(ADODB.Recordset)
    With tabase
        .Provider = "Microsoft.JET.OLEDB.4.0"
        .Open "chemin_de_tabase\nom_detabase.mdb"
    End With

    With requete
        .activeConnection = tabase
        .Open laTable, lockType:=adLockOptimistic
    End With
    With Sheets(1) ' tableau en feuille1 et en colonne 1
        lig = .Range("A65536").End(xlUp).Row
        deb = 2 'début des occurences dans excel
        With requete
            For cptr = deb To lig
                .addNew
                     .Fields("Nom").Value = .Cells(lig, 1)
                    .Fields("prenom").Value = .Cells(lig, 2)
                    .Fields("sexe").Value = .Cells(lig, 3)
                 .Update
            Next
        End With
    End With

    requete.Close
    labase.Close

    End Sub

--
Cordialement,
Michel
0
wilfried_42 Messages postés 907 Date d'inscription mardi 19 août 2008 Statut Contributeur Dernière intervention 8 décembre 2009 244
26 nov. 2008 à 20:08
bonjour michel

Pas de problèmes surtout qu'elle est belle la macro

@ plus
0