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 :

Remplir tableau a partir base de données externe


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Janvier 2013
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Remplir tableau a partir base de données externe
    Bonjour,
    j ai un probleme; j ai 2 classeurs:- un me servant de base de donnees
    avec des dates (sur ligne differente selon semaine, avec les jours de la semaine alignes par colone) et des temperatures à differentes heures(48/jour).
    - je souhaite remplir AUTOMATIQUEMENT un tableau, de 7cases, dans le second en indiquant seulement la date sachant que ces temperatures se trouvent dans le 1er classeur et TOUJOURS dans les mêmes cases par rapport à la date du 1er classeur( exemple ligne 2, colonne 4)

  2. #2
    Membre émérite
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Points : 2 657
    Points
    2 657
    Par défaut
    Même si tu tentes d'être clair, c'est assez difficile de comprendre. Je te propose donc d'envoyer deux fichiers exemple - simplifié - avec le formalisme original et celui que tu veux obtenir.
    Cela permettra à la comunauté de t'aider peut-être d'avantage.

    Une question ta BDD est donc un classeur excel ? Est-il toujours au même endroit (j'entends par là, toujours le même chemin d'accès) ?
    La logique :
    • Plus ya de gruyère, moins ya de gruyère.
    • Plus tu pédales moins vite, moins tu avances plus vite.
    Plusoyer les réponses pertinentes et n'oublier pas de résolver en fin de post !

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Janvier 2013
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    je souhaite que les 7 cases apres la date,du classeur2, se remplissent automatiquement

    lorsque je met cette meme date ou que je rempli ma base dans le classeur 1.

    sachant que dans le classeur 1 ces cases sont toujours à la meme place par rapport à la date,

    *exemple pour la 1ere case meme ligne et colonne 9(attention cases fusionnees)......
    Fichiers attachés Fichiers attachés

  4. #4
    Membre émérite
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Points : 2 657
    Points
    2 657
    Par défaut
    Je ne comprends pas.

    Dans ton classeur4, je vois :
    tmax | tmin | t12 | t1 | t2
    J'imagine, quand tu parles de "7 cases", que tu souhaites ceci :
    tmax | tmin | t12 | t1 | t2| t3 | t4
    Au final, tu souhaites avoir dans ton classeur4 le résumé par journée de tes températures. Soit les 7 températures de la journée indiqué ci-dessus. Est-ce bien cela ?
    Dernier point, tu souahites que ton classeur4 se mète à jour lors de l'insertion d'une valeur dans le classeur3. Est-ce bien cela ?
    La logique :
    • Plus ya de gruyère, moins ya de gruyère.
    • Plus tu pédales moins vite, moins tu avances plus vite.
    Plusoyer les réponses pertinentes et n'oublier pas de résolver en fin de post !

  5. #5
    Membre émérite
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Points : 2 657
    Points
    2 657
    Par défaut
    Bon, j'ai fait ceci :

    Dans un module :
    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
    Sub update()
    Dim cell_ori As Range
    Dim cell_des As Range
    Dim dte As Date
    Dim report As String
     
    'Place le chemin de ton classeur4
    report = "C:\Users\...\Desktop\Classeur4.xls"
     
    For Each Wb In Workbooks
        If Wb.FullName Like report Then
            Wb.Activate
            Exit For
        End If
    Next Wb
     
    If Wb Is Nothing Then
        Workbooks.Open Filename:=report
    End If
     
    With Workbooks("Classeur3").Worksheets("BASE")
        For i = 0 To 4
            For j = 0 To 6
                Set cell_ori = .Range("D3").Offset(i * 6, j)
                dte = cell_ori.Value
                If dte <> "00:00:00" Then
                    Set cell_des = Workbooks("Classeur4").Worksheets("Feuil1").Columns(3).Find(dte, LookIn:=xlFormulas, lookat:=xlWhole)
                    If Not cell_des Is Nothing Then
                        For k = 1 To 4
                            cell_des.Offset(0, 3 + k) = cell_ori.Offset(k, 0)
                        Next k
     
                        For k = 0 To 2
                            cell_des.Offset(0, k + 1) = cell_ori.Offset(k * 2, 10)
                        Next k
                    End If
                End If
            Next j
        Next i
    End With
     
    End Sub
    Dans ta feuille "BASE" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Worksheet_Change(ByVal Target As Range)
     
    update
     
    End Sub
    Je te joint tout de même le fichier.

    Je ne sais pas si c'est ce que tu veux mais tu auras une idée de départ.
    La macro recalcule toutes les cellules de ton classeur4. Ce n'est pas optimisé mais c'est efficace ! ^^ Il y a forcément mieux.
    Mais je ne voulais pas uniquement updater la cellule modifier ni devoir relancer la macro à chaque cellule modifiée.

    Bref, tiens moi au courant !
    Fichiers attachés Fichiers attachés
    • Type de fichier : 7z test.7z (21,4 Ko, 121 affichages)
    La logique :
    • Plus ya de gruyère, moins ya de gruyère.
    • Plus tu pédales moins vite, moins tu avances plus vite.
    Plusoyer les réponses pertinentes et n'oublier pas de résolver en fin de post !

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Janvier 2013
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Bonjour kimy_ire,
    le classeur3 est une version resumee de ma base de donnee, car celle-ci
    archive les tempes toutes les 1/2 heure + des tempés remarquables( tmax, tmin...).
    le classeur 4 doit me donner 7 tempés specifiques :tmax, tmin Tà12h00(t12)...
    à des dates que je defini en les inscrivant dans ma case date du classeur4.
    Ensuite peu importe que la mise à jour se fasse a l'ouverture de l un ou de l autre ou bien lorsque les 2 classuers sont ouverts.

    Pour la maccro que tu m as soumis je vais la tester ce soir ou demain,
    mais deja merci.

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Janvier 2013
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Bonjour,
    désolé pour le temps de réaction.
    De plus je ne parviens pas à faire fonctionner la macro. En fait je
    pense que je n arrive pas à créer la macro qq peut il m'aiguiller SVP.

  8. #8
    Membre émérite
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Points : 2 657
    Points
    2 657
    Par défaut
    - Alt + F11
    - Tu cliques droit sur l'une des feuilles de ton classeur (sur la gauche)
    - Insertion >> Module
    - Tu copies/colles le code.

    Ensuite, retour sur ta feuille d'origine.
    - Bonton office (en hat à gauche)
    - Option Excel
    - Onglet "Standard" (déjà coché logiquement)
    - Coche "Afficher l'onglet dévoloppeur dans le ruban"

    Depuis l'onglet développeur :
    - Macro
    - Tu sélectionnes la macro
    - Tu cliques sur executer.
    La logique :
    • Plus ya de gruyère, moins ya de gruyère.
    • Plus tu pédales moins vite, moins tu avances plus vite.
    Plusoyer les réponses pertinentes et n'oublier pas de résolver en fin de post !

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Janvier 2013
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    merci

Discussions similaires

  1. Réponses: 4
    Dernier message: 16/09/2010, 11h58
  2. Bases de données externe
    Par karidrou dans le forum Access
    Réponses: 3
    Dernier message: 20/02/2006, 15h08
  3. pilote de base de donnée externe (22)
    Par Pierren dans le forum Access
    Réponses: 4
    Dernier message: 12/02/2006, 11h18
  4. Base de données externe free.fr
    Par hamtary dans le forum WinDev
    Réponses: 1
    Dernier message: 28/06/2005, 14h06
  5. Base de données externe
    Par Sandrine75 dans le forum XMLRAD
    Réponses: 2
    Dernier message: 24/04/2003, 14h09

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