IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Enregistrement des données d'un formulaire VBA dans des tables Access


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Février 2018
    Messages : 7
    Par défaut Enregistrement des données d'un formulaire VBA dans des tables Access
    Bonjour à tous,

    Je suis à l'université, et je dois développer un projet VBA nous permettant de valoriser le prix d'une action.

    Je suis bloqué à cette étape : l'enregistrement de mes données excel dans ma base de données access.

    Pour clarifier, voici la consigne exacte :

    ->Un bouton "Save" donnera l’ordre à l’application d’enregistrer les paramètres d’entrées du formulaire dans la base de données Access (table "inputParametersSaved").

    Auriez vous d'éventuelles pistes/exemples de codes qui me permettrait de remédier à ce problème?

    Cordialement,

    Max

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Février 2018
    Messages : 7
    Par défaut
    Bonsoir,

    merci pour votre réponse. Malgré la piste que vous m'avez donnée, je n'arrive pas à faire en sorte que les données que je rentre dans le formulaire se sauvegardent dans mes tables access et remplacent les valeurs qui y sont déjà présentes. Auriez vous un code à partager afin de m'aider ? (je suis débutant)

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par Maxime91327 Voir le message
    Malgré la piste que vous m'avez donnée, je n'arrive pas à faire en sorte que les données que je rentre dans le formulaire se sauvegardent dans mes tables access et remplacent les valeurs qui y sont déjà présentes.
    Peux-tu montrer ce que tu as essayé ?

    Auriez vous un code à partager afin de m'aider ?
    Il y a plusieurs codes dans le lien que je t'ai transmis.
    Mais si tu t'attends à avoir un code qui corresponde exactement à ton besoin, ça ne s'appelle pas "mettre sur une piste" mais "faire le travail à ta place".

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Février 2018
    Messages : 7
    Par défaut
    Bonsoir Menhir,

    Oui, j'ai bien ouvert le lien que tu m'as transmis, et oui il y a plusieurs codes dedans, chacun correspondant à une situation particulière.

    Ci-joint un extrait de mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
       Dim Cn As ADODB.connection
        Dim Cmd As ADODB.Command
        Dim rs As ADODB.Recordset
        Dim CheminBase As String, strCn As String, strInsert As String, strUpdate As String
        Dim r As Long
     
        ActiveWorkbook.Sheets("Input Sheet").Select
     
        CheminBase = "D:\VBA Projets\Projet 2 outil de valorisation\2017_ProjectAppleDataBase.accdb"
     
        Set Cn = New ADODB.connection
        strCn = "Provider=Microsoft.ACE.OLEDB.12.0; " & "Data Source=" & CheminBase & ";"
        Cn.Open strCn
     
        Set rs = New ADODB.Recordset
        rs.Open "SELECT parameterValue FROM inputParametersSaved", Cn, adOpenKeyset, adLockOptimistic
        Range("B4").Select
     
        derniere_ligne = Range("B29").End(xlDown).Row
     
        If rs.EOF = True Then   
            For I = 1 To derniere_ligne - 1
                strInsert = "INSERT INTO parametersValue (Revenues,Income,equity) VALUES ('" & Range("B4").Offset(I, 0).Value & "', #" & Range("B5").Offset(I, 1).Value & "#, '" & Range("B6").Offset(I, 2).Value & "')"
                Cn.Execute strInsert
            Next I
    End If
        ' Fermeture recordset et connection
        rs.Close
        Set rs = Nothing
        Cn.Close
        Set Cn = Nothing
     
     
     
    End Sub
    Ici, j'ai cherché à ce que les cellules B4 à B29 excel (contenant des données préalablement rentrées dans le formulaire), se sauvegardent dans les tables Revenues, Income, et Equity.

    Cordialement,

  6. #6
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Février 2018
    Messages : 7
    Par défaut
    Bonsoir,

    merci pour votre réponse. Malgré la piste que vous m'avez donnée, je n'arrive pas à faire en sorte que les données que je rentre dans le formulaire se sauvegardent dans mes tables access et remplacent les valeurs qui y sont déjà présentes. Auriez vous un code à partager afin de m'aider ? (je suis débutant)

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Il y a deux types de requête!
    Des requête de sélection
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sql="Selelt [Champ1],[Champ2],[Etc] From [Table] Where [ChampNum]=10 And [ChampText]='toto' Or [ChampDate=#25/12/2017#"
    Requêtes à exécution direct
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    sql="Insert tinto [Table] ([ChampNum],[ChampText],ChampDate) values (10,'Toto',#25/12/2017#)"
     
    Sql="Update [Table] set [ChampText]='Titi' Where [ChampNum]=10 And [ChampText]='toto' Or [ChampDate=#25/12/2017#"
     
    Sql= "Delete  [Table] Where [ChampNum]=10 And [ChampText]='Titi' Or [ChampDate=#25/12/2017#"

Discussions similaires

  1. Réponses: 10
    Dernier message: 22/03/2011, 23h40
  2. Réponses: 2
    Dernier message: 25/05/2009, 09h38
  3. Réponses: 6
    Dernier message: 08/12/2006, 13h07
  4. Insérer des données d'un tableau php dans une table mysql
    Par tom43 dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 02/08/2006, 09h38
  5. Réponses: 5
    Dernier message: 06/11/2005, 11h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo