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 :

Compilation base de données


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2015
    Messages : 24
    Points : 20
    Points
    20
    Par défaut Compilation base de données
    Bonjour à tous,

    Généralement, je trouve toujours des petits bouts de code sur le forum qui répondent à mes questions. Mais aujourd'hui, je n'arrive pas à mes fins...

    J'ai un onglet sur Excel qui est ma base de données. Dans cette base de données, j'intégré mes articles en colonne A et renseigne différentes informations dans mon tableau comme la date de conformité de mon article, le code de la nomenclature associée etc...

    Nous avons un outil de BI (COGNOS) qui me permets aujourd'hui de faire une extraction avec le code article, la date de conformité et la nomenclature associée.

    Mon but est de comparer la base de données et l'extraction effectuée.

    Si dans mon extraction COGNOS l'article, la date de conformité et la nomenclature associée est identique a une des lignes de ma base de données, ne pas importer la ligne. Par contre, si un des champs n'est pas identique, alors recopier le code article, la date conformité et le code nomenclature dans la base de données dans les colonnes dédiées.

    Ce que je n'arrive pas à faire, c'est une boucle qui comparerait les lignes de l'extraction COGNOS avec celles de la BDD et que dès qu'il y en a une qui est différente, je la colle à la fin de mon tableau BDD. Puis, que ma macro reprenne à la ligne suivante de l'extraction COGNOS.


    Suite à mes recherches, il faudrait que je fasse une déclaration de variables pour faire une boucle sur mes lignes de tableau en indiquant la règle à suivre. (3 champs identiques)
    Si la règle est vraie, passer à la ligne suivante, si elle est fausse, copier les valeurs adéquats dans les colonnes correspondantes dans la BDD.

    Cependant, je ne sais pas par quel bout commencer?
    J'ose vous soumettre un début de code qui me permet de faire une boucle sur une colonne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub MAJ ()
     
    Dim Wb As Worksheet, NoCol As Integer 
    Dim NoLig As Long, Var As Variant 
        Set Wb = Worksheets("COGNOS") 
        NoCol = 1 'lecture de la colonne 1 
        For NoLig = 1 To Split(Wb.UsedRange.Address, "$")(4) 
            Var = Wb.Cells(NoLig, NoCol) 
        Next 
        Set Wb = NoThing 
     
    End sub
    Pourriez vous m'aider à la compléter s'il vous plait ?




    Merci par avance pour votre aide,

    Excellente soirée à vous!
    Fichiers attachés Fichiers attachés

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonsoir,
    For NoLig = 1 To Wb.UsedRange.Rows.countPréfère Ws (WorkSeet) à Wb (WorkBook) c'est plus parlant!

    Tu ouvre ton classeur COGNOS ou wb est le fait d'une importation d'un fichier texte issu de l'extraction de COGNOS?

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2015
    Messages : 24
    Points : 20
    Points
    20
    Par défaut
    L'extraction COGNOS est un copier coller du fichier excel généré par le logiciel cognos.
    Le top aurait été que ma macro fasse l'extraction du logiciel pour l'intégrer au fichier de compilation mais ca je ne sais pas faire.

  4. #4
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut
    Bonjour !

    Déjà le titre : Excel n'étant pas l'outil idéal pour une base de données, il aurait fallu privilégier Access ! (50 fois plus rapide)

    Citation Envoyé par chichibeignet Voir le message
    c'est une boucle qui comparerait les lignes de l'extraction COGNOS avec celles de la BDD et que dès qu'il y en a une qui est différente, je la colle à la fin de mon tableau BDD.
    Une boucle est inutile et souvent le moins efficace car plus il y a de lignes à traiter et plus la durée s'accroit exponentiellement !
    Mieux vaut privilégier le B-A-BA d'Excel, à savoir un filtre avancé via un critère calculé (une simple formule de calculs !)
    puis une copie unique des lignes filtrées …

    Les filtres avancés ou élaborés dans Excel

    Sans compter les nombreux exemples dans les discussions de ce forum …

    ___________________________________________________________________________________________________________
    Je suis Paris, Mogadicio, Barcelone, London, Manchester, Egypte, Stockholm, Istanbul, Berlin, Nice, Bruxelles, Charlie, …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

Discussions similaires

  1. Compiler plusieurs fichiers en un seul: création base de données
    Par Ju.Linou dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 02/06/2016, 13h54
  2. [QIBASE] Connexion à une base de données Firebird : compiler l'extension
    Par mistercactus dans le forum Bases de données
    Réponses: 12
    Dernier message: 08/02/2016, 12h33
  3. Compiler une base de données XML en Excel
    Par Mayot dans le forum XML/XSL et SOAP
    Réponses: 0
    Dernier message: 22/12/2015, 11h18
  4. Compiler une base de données
    Par ramanov dans le forum Bases de données
    Réponses: 1
    Dernier message: 13/02/2008, 21h57
  5. [Concept] Stabilité d'une base de donnée
    Par lassmust dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 03/07/2002, 16h16

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