Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Update depuis Excel d'une Base Access [ Langages dérivés / VBA ] (tedtheOrs)

samedi 12 avril 2008 à 21:35:59 | Update depuis Excel d'une Base Access

tedtheOrs

Yop

Voilà la situation:

Une feuille Excel avec 2 colonnes "Articles" et "Tarif". Chaque article est défini par une référence à 8 chiffres.

Exemple:

ligne1: l'article 12345678 coute 1 € donne A1=12345678 et B1=1

ligne2: l'article 87654321 coute 5 € donne A1=87654321 et B1=5

Une base Access (que j'appellerai "Mabase") avec (entre autres) une table (que j'appellerai "MaTable") avec (entre autres) 2 colonnes: [Articles] et [Tarifs]...

Mon but est de faire une macro (VBA donc) sous Excel qui me permettent de "mettre à jour" la colonne [Tarif] à partir de la valeur "Article"...

Le net regorge de tuto pour l'export de données Excel vers Access, mais il est généralement question d'export "massif" à savoir: à partir d'une feuille Excel, génération d'une table excel...

J'ai cependant trouvé ça sur les tutos du site:

Code :
 						 						 						 						 								Sub exportDonnées_DAO()
Dim Db As DAO.Database
Dim strSQL AsString
Set Db = DAO.OpenDatabase("C:\dossier\Mabase.mdb", False, False)
strSQL = "INSERT INTO [MaTable] VALUES('999','8','DVP','7','mimi','22/10/2007')"
Db.Execute strSQL
Db.Close
EndSub
Comment faut il coder la requete pour une mise à jour ? Sachant qu'il faudrait balayer l'ensemble de la colonne A

D'avance merci!

Bonne soirée

@+

Ted

[EDIT] Au fait, c'est mon premier message, donc si j'ai dérogé d'une manière ou d'une autre à la charte du forum, il n'est pas trop tard pour me remettre dans le droit chemin!

dimanche 13 avril 2008 à 15:01:33 | Re : Update depuis Excel d'une Base Access

MPi

Réponse acceptée !
Bienvenue,
Je ne pense pas que tu aies dérogé de façon quelconque... Le message est clair et posté dans la bonne section (VBA), ce qui est assez rare...

Pour ton problème, tu peux utiliser l'Automation, c'est-à-dire que tu crées dans Excel des variables qui pointent vers Access et ta base. Tu pourrais faire des recherches sur
Access.Application

Ensuite, tu peux utiliser DoCmd.TransferSpreadsheet pour exporter d'un coup les données de ta feuille. Recherche aussi cette commande...

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI


dimanche 13 avril 2008 à 17:20:37 | Re : Update depuis Excel d'une Base Access

tedtheOrs

C'est justement dans la commande SQL que j'ai du mal à savoir comment exploiter les variables issus d'excel et celle d'access...

dimanche 13 avril 2008 à 17:33:05 | Re : Update depuis Excel d'une Base Access

MPi

En utilisant TransferSpreadsheet, tu n'as pas besoin de créer de Recordset donc de SQL.

Voici un exemple utilisant différentes variables qui ne te seront pas utiles, mais bon, pour la compréhension, ça pourrait aider...(?)

    Set objAccess = New Access.Application
    objAccess.OpenCurrentDatabase txtBase, False
   
    objAccess.DoCmd.TransferSpreadsheet _
        FileName:=LocalFilename, _
        transfertype:=acImport, _
        tablename:=LocalTablename, _
        HasFieldNames:=LocalBoolHeader, _
        Range:=LocalRange, _
        SpreadSheetType:=5

    objAccess.Quit
    Set objAccess = Nothing

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI


dimanche 13 avril 2008 à 18:02:29 | Re : Update depuis Excel d'une Base Access

tedtheOrs

Bon, j'ai essayé avec ca, mais ca plante sur l'instruction en gras...


      Dim Db As DAO.Database
      Dim strSQL As String
      Dim demande
      Dim commentaire
      Dim i

For i = 4 To 30
      demande = Range("B" & i)
      commentaire = Range("E" & i)
     
Do Until demande = Null

      Set Db = DAO.OpenDatabase("F:\Generali\ma_bas.mdb", False, False)
      strSQL = "UPDATE Demande ou Projet SET Réponse = commentaire WHERE IdDemande = '" & demande & "'"
      Db.Execute strSQL
      Db.Close
Loop
Next i

End Sub


Des idées?


dimanche 13 avril 2008 à 18:07:45 | Re : Update depuis Excel d'une Base Access

tedtheOrs

Bon alors, je vois pas du tout comment utiliser ton bout de code, MPi?

dimanche 13 avril 2008 à 18:13:47 | Re : Update depuis Excel d'une Base Access

MPi

Si tu tiens à y aller avec le SQL, j'essaierais comme ceci pour la connexion
Set Db = Workspaces(0).OpenDatabase("F:\Generali\ma_bas.mdb", False, False)

Pour la requête, je ne sais pas... Je n'utilise jamais ce genre de requête...
J'y vais plutôt avec Edit (modification) ou AddNew (ajout) puis Update pour mettre à jour.

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI




Cette discussion est classé dans : access, base, excel, db, article


Répondre à ce message

Sujets en rapport avec ce message

HELP Ouverture en mode exclusif lien excel sur base access [ par sbbois ] Bonjour a tous Voici mon problème : j'ai une base access avec des attaches vers des tables excel. Je veux utiliser ma base en multi-utilisateur. Or l Exécuter le module d'une base Access [ par Simouss33 ] Bonjour tout le monde! J'utilise Visual Studio 2003 et j'aimerai pouvoir me connecter à une base de données Access pour exécuter un de ses modules. J' Connection Ole db a une base Access avec mot de passe [ par hassen ] Bonjour tous le monde,mon problème est le suivant je veut me connecter via ole db a une base de donnée access qui a un mot de passe.dans Ms Access j'y Probleme de migration de base Access 97 vers Access 2003 [ par Mr Kryxs ] Salut à tous .. enfin si y a quelqu'un .. voila je suis actuellement une formation de developpeur d'application informatique et j'effectue en ce momen moulinette de données [ par farouha ] bonjour a tous;je suis en stage et je travaille sur des classeurs Excel qui ont été importé dans une base de données Access mais je cherche a faire un export de base access vers excel en vb.net ? [ par Raul duke ] bonjour, je voudrais savoir s'il est possible d'exporter les données d'une base access vers excel en vb.net.je suis actuellement en stage de bts 1ere important [ par zoulou02 ] Slt à tous, j'ai un probleme avec la connexion à une base de données access et un fichier excel, c'est que je veux récupérer les données a partir d'ex lien entre excel et access Vba ? [ par fanjomtl ] Salut les pros !!Je continue dans mon apprentissage de Vba avec office et là j'aimerais jouer avec les bases de données.J'ai un formulaire dans Excel cree une base de donnees acces [ par percoartemis ] Salut,voila, j utilise actuellement une bdd excel pour inserer de nouvelles données, pour me faire gagné du temps je voudrai cree une bdd access qui m macro excel avec base access [ par paqmanakira ] Bonjour,j'ai une base de donnée sur Excel, j'ai fais une macro ça tourne pas trop mal, mais c'est bcp trop long car il y a trop de ligne a lire.J'aime


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,281 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.