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 :

Recherche données Excel <-> Access


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2010
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 49
    Par défaut Recherche données Excel <-> Access
    Bonjour à tous,

    Je cherche à vérifier par le biais d'une macro, la présence dans ma base de données Access, d'une donnée qui est dans un tableau croisé dynamique sous excel.

    Je sais lire les données 1 à 1 aussi bien dans mon champs de tableau croisé dynamique que dans ma base de données Access mais je n'arrive pas à trouver le code pour me dire:

    J'ai trouvé une donnée dans ton tableau croisé dynamique que tu n'as pas dans ta table de données Access, il faut mettre à jour votre base de données...

    Merci par avance.

  2. #2
    Membre Expert Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Par défaut
    bonjour,

    avant de te répondre.

    comment fait tu pour lire les données access?

  3. #3
    Membre averti
    Inscrit en
    Février 2010
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 49
    Par défaut
    Salut, pour faire une recherche avec une inpubox dans ma base de données Access je fais:

    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
     
    Sub recherche()
     
    Dim Var1 As String
    Var1 = InputBox("Titre", "Texte")
     
    Dim db As Database
    Dim rs As Recordset
     
    Set db = DBEngine.OpenDatabase("C:\mabasededonnées.mdb")
    var_requete = "select * from MaTable where Champs1;"
     
    Set rs = db.OpenRecordset(var_requete)
    Do While Not rs.EOF
        If Var1 = rs.Fields("Champs1") Then
        MsgBox "Var1 dans la base de données"
        Exit Sub
        Else
        End If
        rs.MoveNext
    Loop
    MsgBox "Var1 pas dans la base de données", vbCritical, "Information sur la recherche..."
    rs.Close
    end sub
    Merci.

  4. #4
    Membre Expert Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Par défaut
    ben donc je pense que tu devrais faire simplement

    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
     
    Set db = DBEngine.OpenDatabase("C:\mabasededonnées.mdb")
    var_requete = "select * from MaTable where Champs1;"
     
    Set rs = db.OpenRecordset(var_requete)
    ok=false
    Do While Not rs.EOF
        If Var1 = rs.Fields("Champs1") Then
         ok =true
        MsgBox "Var1 dans la base de données"
        Exit Sub
        End If
        rs.MoveNext
    Loop
    if not ok then MsgBox "Var1 pas dans la base de données", vbCritical, "Information sur la recherche..."
    rs.Close
    end sub

  5. #5
    Membre Expert Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Par défaut
    sorry, je viens de voir, que je n'avais pas bien compris ta demande

    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
     
    Sub recherche()
     
    Dim Var1 As String
     
    Dim db As Database
    Dim rs As Recordset
    dim C as range
     
    Set db = DBEngine.OpenDatabase("C:\mabasededonnées.mdb")
    var_requete = "select * from MaTable where Champs1;"
     
    Set rs = db.OpenRecordset(var_requete)
    for each C in range("A1:A10").cells 'range est donné a titre d'exemple, il faut adapter selon ton cas
    Do While Not rs.EOF
        If Var1 = rs.Fields("Champs1") Then
             MsgBox "Var1 dans la base de données"
             Exit Sub
        End If
        rs.MoveNext
    Loop
    rs.movefirst
    next c
    MsgBox "Var1 pas dans la base de données", vbCritical, "Information sur la recherche..."
    rs.Close
    end sub

  6. #6
    Membre averti
    Inscrit en
    Février 2010
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 49
    Par défaut
    Merci pour ta réponse, mais ca ne fonctionne pas...

    J'ai beau y mettre dans tout les sens ca ne veut pas...

    Soit ca me met tout les valeurs de mon tableau croisé ou soit ca me met uniquement la dernière valeur...

    Je ne comprend pas pourtant quand on lit le code ca devrait fonctionner...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] Transfert de donnée Excel dans bdd Access
    Par Amadeon dans le forum Access
    Réponses: 5
    Dernier message: 12/11/2009, 09h49
  2. Import données Excel dans Form Access
    Par berti dans le forum VBA Access
    Réponses: 12
    Dernier message: 19/10/2007, 15h34
  3. Supprimer des données Excel sous VBA Access
    Par Sam 069 dans le forum VBA Access
    Réponses: 1
    Dernier message: 09/10/2007, 09h55
  4. Convertir une base de données Excel en base Access
    Par benjamin50 dans le forum Access
    Réponses: 1
    Dernier message: 21/07/2006, 08h20
  5. Importer des données Excel vers BD Access
    Par technopole dans le forum Access
    Réponses: 1
    Dernier message: 03/07/2006, 14h37

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