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 :

Macro Excel pour faire un update SQL-ORACLE


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Décembre 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Décembre 2014
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Macro Excel pour faire un update SQL-ORACLE
    Bonjour,

    Voici ma problématique.
    Nous avons une requête SQL-ODBC sur base ORACLE et il nous faut pouvoir faire un update sur un champs d'une table via une macro à partir d'une cellule excel.

    Voici la requête :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT F350ECR.F350PIECE, F350ECR.F350LIB
    FROM SAML_PROD.F350ECR F350ECR
    WHERE (F350ECR.F350PIECE='PIEXXXXXX')

    F350PIECE étant le numéro d'une pièce comptable et F350LIB le libellé de la pièce comptable, le tout dans la table F350ECR.

    Dans Excel, j'ai donc un tableau de requête MS QUERY:

    ------A--------------B-------------------C
    1    F350PIECE    F350LIB       Nouveau libellé
    Le but de la macro est d'établir une connexion à notre base et de faire un update sur le champ du libellé :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    update F350ECR set F350LIB = 'NOUVEAU'
    where F350LIB = 'ANCIEN'
    and F350PIECE = 'PIEXXXXXX'

    Serait-il possible de m'aider à écrire ce code VBA ?

    Ceci est simplement un début, le code VBA sera complété par la suite a plus grande échelle pour un tableau entier, il me faut déjà un début sur cet exemple simple.

    Merci pour votre aide

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 153
    Points : 215
    Points
    215
    Par défaut
    Bonjour,

    Sans être expert, je te conseille de te pencher sur le modèle ADO.

    Ci-dessous un tutoriel spécifique à VB quant à la méthode ADO, que je t'invite à consulter (Tout particulièrement le point IIIC):
    http://drq.developpez.com/vb/tutoriels/ADO/

    Ci-dessous un exemple pris au hasard d'implémentation (sur access):
    http://www.developpez.net/forums/d14...e-set-vb6-ado/

    Ensuite, il s'agira de faire une boucle sur ton tableau Excel pour paramétrer ta requête SQL.
    Soit quelque chose qui ressemblerait vaguement à ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub données_SQL()
    Dim SQL_str As String
    Dim i As Long
     
    With Sheets("données")
        While .Cells(i, 3) <> ""
            SQL_str = "SELECT * "
            SQL_str = SQL_str & .Cells(i, 4)
            'etc, puis une fois que tu as paramétré ta requête, tu peux utiliser le modèle ado proprement dit
            i = i + 1
        Wend
    End With
     
    End Sub
    Bien cordialement,

    Mr Poulpe

Discussions similaires

  1. Quel Oracle installer pour faire du PL/SQL : 10g ou 11g ?
    Par chevy dans le forum Installation
    Réponses: 8
    Dernier message: 31/07/2013, 15h24
  2. [SSIS] [2K5] OLE DB Command pour faire un update Oracle
    Par clementratel dans le forum SSIS
    Réponses: 2
    Dernier message: 17/02/2009, 15h52
  3. demande d'aide pour faire un requete sql
    Par carmen256 dans le forum Requêtes
    Réponses: 3
    Dernier message: 14/04/2006, 09h50
  4. [MySQL] problème pour faire un update
    Par ph_anrys dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 16/03/2006, 15h48
  5. Aide sur les macros Excel pour recopie auto de données
    Par nicoduhavre dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/11/2005, 08h38

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