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 :

Import excel acces


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2010
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 60
    Par défaut Import excel acces
    Bonjour le forum,

    Au fait j'ai conçu un outil de suivi du chiffre d'affaire sur excel. Il contient differnetes informatiosn qui sont stockées sur des tables acces.
    ma table excel va devoir importer une colonne ou deux de chaque table acces.


    je voudrai bien que vous m'expliqiuez comment je peux faire cet import?

    Merci

  2. #2
    Nouveau membre du Club
    Inscrit en
    Juin 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Juin 2010
    Messages : 7
    Par défaut
    Salut,

    tu connait un peu le vba?

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2010
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 60
    Par défaut
    Bonjour,

    Oui un tout petit peu :S

  4. #4
    Nouveau membre du Club
    Inscrit en
    Juin 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Juin 2010
    Messages : 7
    Par défaut
    J'ai ce code à te proposer. Si sa peu te rendre service.
    Je suis sur excel, je me connecte à une base Access distante et je récupère certaines colonnes sur les tables de cette base. Enfin j'affiche sur excel voila:

    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    Private Sub requete_email()
     
            Dim db_Exemple As Database
            Dim rs_Exemple As Recordset
            Dim rq_Sql As String
            Dim nb_Lignes As Long
            Dim Nom_Feuille As String
            Dim i As Integer
            Dim l As Long
     
                ' OUVERTURE DE LA BASE DISTANTE
     
                'Set db_Exemple = OpenDatabase("C:\travail\bdd_temoin.mdb")
                Set db_Exemple = OpenDatabase(ActiveWorkbook.Path & "\bdd_temoin.mdb")
     
                ' REQUETE D'EXTRACTION DES DONNEES
                rq_Sql = "SELECT * from email order by numéro"
     
                Set rs_Exemple = db_Exemple.openrecordset(rq_Sql, dbopensnapshot)
     
                ' comptage du nbre de resultat
                   If rs_Exemple.RecordCount = 0 Then
                        nb_Lignes = 0
                   Else
                        rs_Exemple.MoveLast
                        nb_Lignes = rs_Exemple.RecordCount
                   End If
     
                   ' message si aucun resultat
                   If nb_Lignes <= 0 Then
                         message_auccun_resultat
                   Else
                                    ' creation de la feuille receptrice
                                     Nom_Feuille = "E-MAIL"
     
                                     ' si elle existe on la detruit
                                     bool = False
                                     For i = 1 To Sheets.Count
                                         If Sheets(i).Name = Nom_Feuille Then
                                            bool = True
                                            feuille = i
                                        End If
                                     Next
     
                                     If bool = True Then
                                        Application.DisplayAlerts = False
                                        Sheets(feuille).Delete
                                        Application.DisplayAlerts = True
                                     End If
     
                                    'creation page
                                Sheets.Add.Move before:=Sheets(1)
                                Sheets(1).Name = Nom_Feuille
                                Sheets(1).Select
     
     
                        ' ECRITURE DES NOMS DE COLONNES
     
                        Cells(1, 1).Value = "ID"
                        Cells(1, 2).Value = "EMAIL"
                        Cells(1, 3).Value = "NOM"
                        Cells(1, 4).Value = "PRENOM"
                        Cells(1, 5).Value = "FILIERE"
                        Cells(1, 6).Value = "DEPT"
                        Cells(1, 7).Value = "POSTE"
     
                        ' NOMS DE COLONNES EN GRAS
                        Range("A1:G1").Select
                        Selection.Font.Bold = True
     
                        ' REMPLISSAGE DE LA FEUILLE
                        rs_Exemple.MoveFirst
                        For l = 2 To nb_Lignes + 1
                                Cells(l, 1).Value = rs_Exemple.Fields("numéro")
                                Cells(l, 2).Value = rs_Exemple.Fields("Email")
                                Cells(l, 3).Value = rs_Exemple.Fields("Nom")
                                Cells(l, 4).Value = rs_Exemple.Fields("Prenom")
                                Cells(l, 5).Value = rs_Exemple.Fields("FILIERE")
                                Cells(l, 6).Value = rs_Exemple.Fields("DEPT")
                                Cells(l, 7).Value = rs_Exemple.Fields("POSTE")
                                rs_Exemple.MoveNext
                        Next
     
                        ' FORMAT LARGEUR DE COLONNES
                        Columns("A:G").Select
                        Selection.Columns.AutoFit
     
                        ' DEPLACEMENT DE LA FEUILLE
                        Sheets(1).Move after:=Sheets("MENU_MAIL")
     
                        ' SELECTION DE LA 1ERE CELLULE POUR FAIRE PROPRE
                        Cells(1, 1).Select
     
                End If
    End Sub

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2010
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 60
    Par défaut
    Bonjour,

    Merci à toi

    Mon outil sur excel contient déjà les noms de colonnes et tt ca. Moi j'ai un document excel avec des feuilles programmées pleines de fromules. Mais ce sont les données qui sont des feuilles acces dc je veux juste les copier (ou les importer).

    J'espère que j'ai été plus clair cette fois-ci

  6. #6
    Nouveau membre du Club
    Inscrit en
    Juin 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Juin 2010
    Messages : 7
    Par défaut
    En fait tu es très clair, je pense avoir compris tes attentes.

    D'après moi en adaptant le code tu devrais pouvoir y arriver.

    Il te faut juste te connecter à ta base, faire les requêtes sur les champs que tu veux et les afficher où tu veux. Tu appelles cette procédure à l'ouverture du classeur par exemple et le tour est joué.

    Je sais que ce n'est pas évident au début, ça m'a bien pris la tête moi aussi, mais en regardant bien ce n'est pas trop difficile.

    Après il y a peut-être des solutions plus faciles mais celle-ci me parait correcte.

    Bon courage!

Discussions similaires

  1. [import] Excel et ligne de noms des champs
    Par babar01 dans le forum Access
    Réponses: 2
    Dernier message: 05/10/2005, 15h46
  2. [win32] delphi importation excel
    Par pier dans le forum Bases de données
    Réponses: 2
    Dernier message: 09/09/2005, 15h27
  3. Erreur d'import Excel -> Delphi
    Par Homer dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 05/07/2004, 10h07
  4. Import Excel / CSV
    Par aston_max dans le forum SQL Procédural
    Réponses: 8
    Dernier message: 04/07/2004, 23h31
  5. import Excel --> Stringgrid de Delphi
    Par Homer dans le forum Langage
    Réponses: 2
    Dernier message: 16/06/2004, 12h53

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