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

Excel Discussion :

Formules pour extraire des données d'une BDD


Sujet :

Excel

  1. #1
    Candidat au Club
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Novembre 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Autre

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 29
    Points : 2
    Points
    2
    Par défaut Formules pour extraire des données d'une BDD
    Bonjour,
    Svp chers professionnels d'Excel j'ai besoin de votre aide pour remplir deux tableaux à partir d'une base de données
    une base de données qui comporte les ventes et les achats du laiton avec différents formes et dimensions
    une feuille pour en extraire les données de vente, une autre feuille pour en extraire les données d'achats, en choisissant la forme et la dimension du laiton
    dans le fichier ci joint j'ai rempli pour l'exemple laiton rond diam 22 pour voir les valeurs à extraire
    j'ai coloré des colonnes pour faire la correspondance entre la BDD et les deux autres feuilles à remplir
    toujours disponible pour toute autre explication
    je veux que quand je choisis la forme en B2 et la dimension en B3 du laiton, les données des colonnes colorées seront remplies à partir de la "Base de données"
    j'ai essayé des formules recherche mais ça ne retourne pas le résultat attendu
    le lien vers le fichier
    https://mon-partage.fr/f/TXnDnhAG/
    par avance je vous remercie
    bien cordialement

  2. #2
    Candidat au Club
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Novembre 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Autre

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 29
    Points : 2
    Points
    2
    Par défaut
    je m'étais trompé de fichier désolée
    https://mon-partage.fr/f/0Mbpfz0V/
    merci par avance

  3. #3
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 182
    Points : 5 514
    Points
    5 514
    Par défaut
    Bonjour,

    Pourquoi ne pas directement filtrer les données du tableau (nommé Data par exemple).
    Cela peut encore éventuellement être facilité à l'aide d'une macro du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Filtrage()
        Range("Data").AutoFilter                    '--- supprime filtre
        With ActiveSheet.ListObjects("Data").Range
            If [B1] <> "" Then .AutoFilter Field:=8, Criteria1:=[B1]
            If [B2] <> "" Then .AutoFilter Field:=9, Criteria1:=[B2]
            If [B3] <> "" Then .AutoFilter Field:=10, Criteria1:=[B3]
            If [B4] <> "" Then .AutoFilter Field:=2, Criteria1:=[B4]
        End With
    End Sub
    Cordialement.
    Fichiers attachés Fichiers attachés

  4. #4
    Candidat au Club
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Novembre 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Autre

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 29
    Points : 2
    Points
    2
    Par défaut
    Bonjour,
    merci Ericdgn de votre solution
    en fait je veux afficher les achats et les ventes séparées dans le modèle exigé dans chaque feuille "achat" et "vente" pas dans la totalité de la "Base de données"
    disponible pour toute autre explication
    merci encore
    bien cordialement

  5. #5
    Membre éclairé Avatar de PrinceCorwin
    Homme Profil pro
    Responsable d'un système d'information métier
    Inscrit en
    Mars 2012
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Responsable d'un système d'information métier
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 337
    Points : 692
    Points
    692
    Par défaut
    Bonjour,

    Est-ce qu'un "simple" Tableau Croisé Dynamique pourrait répondre à ton attente ?

    En mettant en filtre les critères de sélection :
    - Origine,
    - Matière,
    - Forme,
    - Taille

    dans le tableau les colonnes à afficher :
    - date,
    - désignation,
    - etc.

    dans les valeurs :
    - quantité importées,
    -etc.
    Si ce message vous a aidé, appuyez sur le petit , ca fait toujours plaisir
    Merci.

  6. #6
    Candidat au Club
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Novembre 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Autre

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 29
    Points : 2
    Points
    2
    Par défaut
    Bonjour,
    merci de votre retour!
    je n'ai pas utilisé un tcd auparavant
    mais si les tableaux résultant du tcd sont identiques aux modèles dans les feuilles "achat" et "vente" je suis preneuse
    je ne veux pas choisir une seule matière , je veux afficher la totalité des matière dans un seul tableau avec ordre chronologique de vente/achat croissante
    merci encore
    bien cordialement

  7. #7
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 182
    Points : 5 514
    Points
    5 514
    Par défaut
    Bonjour,

    Comme la présentation diffère entre les diverses feuilles, je ne vois pas d'autre moyen que d'utiliser une macro qui parcourt la "base de données" pour compléter une feuille de type "Achat" ou de type "Vente".

    Un début de solution pour une feuille de type "Achat" (qu'il vous restera à compléter), solution facilement adaptable pour une feuille de type "Vente".
    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
    Option Explicit
    Option Compare Text         '==>  A=a E=e  mais attention e<>é
     
    Public Sub Achat()
        Dim sMat As String, sForm As String, sTaill As String
        Dim kRD As Long, kR As Long
        Worksheets("Achat").Select
        Rows("7:100").Delete            '--- supprime résultats précédents
        sMat = [B1]
        sForm = [B2]
        sTaill = [B3]
        '--- il est supposé que dans la feuille "base de données",
        '--- aucune cellule vide en colonne 2: Origine --- cellule vide = fin
        With Worksheets("Base de données")
            kRD = 3                             '--- première ligne plage Données
            kR = 7                              '--- première ligne plage Achats
            While .Range("B" & kRD) <> ""        '--- cellule vide = fin
                DoEvents
                If .Range("B" & kRD) = "Achat" And _
                   .Range("H" & kRD) = sMat And _
                   .Range("I" & kRD) = sForm And _
                   .Range("J" & kRD) = sTaill Then
     
                    '--- récupération données
                    Range("A" & kR) = .Range("D" & kRD)  '--- ?  à vérifier
                    Range("F" & kR) = .Range("H" & kRD)  '--- matière
                    Range("G" & kR) = .Range("I" & kRD)  '--- forme
                    Range("H" & kR) = .Range("J" & kRD)  '--- taille
                    Range("I" & kR) = .Range("T" & kRD)  '--- Qté importée
                    Range("J" & kR) = .Range("S" & kRD)  '--- Qté utilisée
                    Range("K" & kR) = .Range("G" & kRD)  '--- N° fiche
                    Range("M" & kR) = .Range("X" & kRD)  '--- poids copeaux total
                    'etc. --- à compléter
     
                    '--- champs calculés
                    If Range("J" & kR) > 0 Then Range("L" & kR) = Range("M" & kR) / Range("J" & kR)
                    'etc. --- à compléter
     
                    kR = kR + 1
                End If
                kRD = kRD + 1
            Wend
        End With
        Debug.Print "Fin"
    End Sub
    Attention: dans cette macro les résultats précédents sont écrasés à chaque utilisation. Donc ce qui aurait été encodé dans les colonnes B, C, D, ... de la feuille "Achat" est perdu. C'est en cela que je ne comprends pas très bien votre objectif.

    Bonne continuation.
    Fichiers attachés Fichiers attachés

  8. #8
    Candidat au Club
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Novembre 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Autre

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 29
    Points : 2
    Points
    2
    Par défaut
    Bonjour,
    merci Ericdgn de votre retour
    je ne maîtrise pas le VBA malheureusement pour faire adapter cette macro
    je n'ai pas compris le fait d'écraser des données, en fait je veux dégager tous les achats par ordre croissant de la date de la déclaration en colonne D de la "Base de données" en remplissant les colonnes du tableau modèle
    de même pour les ventes
    j'ai essayé avec des formules et c'est un cercle vicieux
    comme je n'ai aucune connaissance en VBA j'ai pas pu trouver une solution adéquate
    merci de m'aider
    bien cordialement

  9. #9
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 182
    Points : 5 514
    Points
    5 514
    Par défaut
    Avant de vous proposer une façon de faire, il nous faudrait bien comprendre votre objectif.
    Si j'ai bien compris:
    - vous avez une "base de données" et des données s'y ajoutent régulièrement
    - vous avez accès à cette base de données et vous devez compléter des feuilles "Achat" et "Vente"

    Pourquoi faut-il pouvoir sélectionner Matière-Forme-Taille ?
    a) juste pour avoir plus facile à encoder les colonnes vides ?
    b) pour faire une feuille par produit ?

    A quel moment une ligne de données est-elle supprimée ?

    Cdt.

  10. #10
    Candidat au Club
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Novembre 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Autre

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 29
    Points : 2
    Points
    2
    Par défaut
    Re,
    merci de votre retour

    "Si j'ai bien compris:
    - vous avez une "base de données" et des données s'y ajoutent régulièrement
    - vous avez accès à cette base de données et vous devez compléter des feuilles "Achat" et "Vente" "

    oui exactement


    j'ai essayé par formule et j'ai utilisé ces cellules de choix pour me faciliter la tâche sans succès mais ils sont inutiles maintenant parce que je cherche à dégager les données d'achat et de vente de la totalité de la "Base de donnée"
    pour le moment j'ai besoin d'exploiter la totalité de la "Base de données" mais à certain moment j'aurais besoin de ne dégager les achats/ventes qu'à partir d'une date de déclaration bien définie jusqu'à la fin des données
    je suis toujours disponible pour toute autre explication
    merci beaucoup
    bien cordialement

  11. #11
    Candidat au Club
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Novembre 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Autre

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 29
    Points : 2
    Points
    2
    Par défaut
    le fichier est mis à jour suivant ce lien
    https://mon-partage.fr/f/vWv5i3BC/
    j'ai pris comme exemple le laiton rond diam 22 pour voir la correspondance entre la base de donnée et les colonnes à remplir
    quelques données d'achat sont manquantes dans la bdd tels que N° facture achat, ,N° déclaration d'achat, type de déclaration d'achat)
    elles seront remplies au fur et à mesure en alimentant la base de donnée
    merci encore
    bien cordialement

  12. #12
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 182
    Points : 5 514
    Points
    5 514
    Par défaut
    Re,
    D'où viennent les données qui sont dans la feuille "Base de données" ?
    Sont-elles obtenues par un copier-coller ou par une connexion (la colonne Y est pleine de #REF!) ?
    Cdt

  13. #13
    Candidat au Club
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Novembre 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Autre

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 29
    Points : 2
    Points
    2
    Par défaut
    Re,
    les données sont remplies par une simple saisie
    la formule en colonne "stock" donne le stock restant de chaque type de matière en choisissant dans le filtre un type de matière
    elle ne fonctionne plus et j'ignore la cause (probablement sa référence a été supprimée quelque part) mais elle n'est pas une donnée à extraire dans les autres tableaux
    merci encore
    bien cordialement

  14. #14
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 182
    Points : 5 514
    Points
    5 514
    Par défaut
    Bonjour,

    Dans ce cas, il me semble vraiment très préférable de n'avoir qu'un seul tableau reprenant toutes les données utiles (BDD + achat + vente) avec une simple gestion des colonnes affichées selon les nécessités (feuille 'Tout', boutons BDD, Achats, Ventes dans le fichier annexé utilisant une macro toute simple).
    A mon avis il faudrait que les colonnes soient présentées dans l'ordre logique, chronologique, du travail de chaque produit, ce que je n'ai pu faire dans la proposition jointe vu que je n'en ai pas connaissance.
    N'ayant qu'un seul tableau à gérer, il est vraiment simple de le maintenir et d'y effectuer des filtrages.

    Cordialement.
    Fichiers attachés Fichiers attachés

  15. #15
    Candidat au Club
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Novembre 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Autre

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 29
    Points : 2
    Points
    2
    Par défaut
    Bonsoir Ericdgn
    Merci de votre retour
    Je me suis connectee par tel, je regarderais votre proposition
    Une petite remarque: votre solution me semble logique mais a condition qu elle ne modifie pas les deux modeles parce qu ils sont exiges
    En ce qui concerne l ordre chronologique il suffit juste suivre l ordre croissant de la date de la declaration d'achat pour le tableau d achat et la date de declaration de vente pour le tableau de vente
    C est commme si on a degage les mouvements de chaque type de matiere comme fait pour l exemple laiton rond 22, puis on a collecte tout dans un seul tableau et finalement on fait le tri par ordre chronologique croissant
    J espere avoir une solution car je me suis bloquee la dessus depuis un temps
    Merci de votre temps consacre poir m aider, de votre effort et de votre volonte a aider les novices
    Bien cordialement

  16. #16
    Candidat au Club
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Novembre 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Autre

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 29
    Points : 2
    Points
    2
    Par défaut
    Bonjour Ericdgn,
    merci de vitre solution
    je viens de la vérifier et j'ai quelques questions
    c’est quoi le rôle de la feuil1 est ce qu’elle qui détermine les colonnes affichées dans « achat » et « vente » et comment ?
    Comment utiliser les croix dans la feuille « tout »
    Les dates des déclarations de vente ne figurent pas dans le tableau « vente » pourtant j’ai ajouté un croix dans F19 (celui rouge), ces dates qui vont être triées par ordre croissant
    en activant le bouton "achat" ça ne doit pas afficher le N° de la facture de vente et le N° de la déclaration de vente qui se trouve sur une ligne d' "origine" vente dans la feuille de "Base de données" ces données sont manquantes actuellement et seront remplies le plutôt possible
    merci de votre aide si précieuse
    bien cordialement

  17. #17
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 182
    Points : 5 514
    Points
    5 514
    Par défaut
    Bonjour,

    Le 'Feuil1' n'est qu'une feuille intermédiaire pour voir les champs demandés dans chaque présentation. Ajouter une croix en F19 n'a donc aucun effet: c'est dans la feuille 'Tout' qu'il faut la placer, en F4. Là c'est pris en compte. Idem pour les autres, c'est dans la feuille 'Tout' que les 'x' ont un effet.

    En attaché, une autre façon de faire qui est sans doute plus proche de ce que vous souhaitez car elle permet de modifier l'ordre des colonnes. La méthode utilisée fait appel aux "filtres avancés".
    Un lien sur ce sujet: Les filtres avancés ou élaborés dans Excel.


    Pour ce qui est des titres et ordres des colonnes, il vous faudra les vérifier et les corriger pour avoir vraiment ce que vous voulez, cela dans toutes les feuilles.

    Bonne continuation.
    Fichiers attachés Fichiers attachés

  18. #18
    Candidat au Club
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Novembre 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Autre

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 29
    Points : 2
    Points
    2
    Par défaut
    Bonjour Ericdgn
    Merci beaucoup de votre proposition
    Dans "vent" est-il possible d'afficher la totalite des matieres existant dans la BDD

    Dans "achat" je veux choisir les dates de la declaration d achat comme dans "vente" et afficher les quantites utilisees apres chaque achat pour repmlir les autres colonnes du tableau (N fiche,poids copeaux total,poids dechet fin de barre total)
    C a d entre chaque achat les quantites utilisees comme mentionnee dans lexemple du laiton rond 22
    Comment alors adapter les macros pour afficher ces elements
    l affichage des achats de cette maiere est exigee par la douane
    Merci de m aider
    Je suis tres reconnaissante, votre aide est mon sel espoir, merci beaucoup
    Bien cordialement

  19. #19
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 182
    Points : 5 514
    Points
    5 514
    Par défaut
    Bonjour,

    En fait il n'y a rien à changer au fichier, il vous faut juste vraiment comprendre comment fonctionne ces "filtres élaborés". Aussi j'ai ajouté quelques explications complémentaires à ce sujet dans la feuille "utilisation" du fichier attaché.

    Le seul point qu'il conviendrait sans doute de modifier est de déplacer les plages de résultat de la ligne n°8 sur la cellule R1 pour qu'il soit plus facile d'en faire la mise en page.

    Bonne continuation.
    Fichiers attachés Fichiers attachés

  20. #20
    Candidat au Club
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Novembre 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Autre

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 29
    Points : 2
    Points
    2
    Par défaut
    Bonsoir Ericdgn,
    Tout d'abord merci de votre temps que vous consacrez pour aider les novices
    J’ai utilisé la version des filtres avancés (le cochage par des croix) et ça donne le résultat attendu pour les ventes et pour les achats, merci beaucoup!
    Alors j’ai voulu faire de même pour une base de données plus large pour d’autres matières premières mais cette fois ci j’ai une feuille pour les achats, une autre feuille pour les ventes
    Je n’ai pas su comment les mettre dans une seule base de données semblable à celle du laiton pour travailler de la même façon si vous pouvez m’aider s'il vous plait ou me donner la démarche à suivre pour que je puisse utiliser votre fichier à macro d’affichage personnalisée
    Je veux afficher de la même manière les ventes et les achats de chaque type de matière (avec toutes ses nuances)


    Je vous remercie par avance
    Bien cordialement

Discussions similaires

  1. Besoin d'aide pour extraire des données d'une feuille à l'autre
    Par fransky dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/11/2010, 15h03
  2. Réponses: 2
    Dernier message: 25/06/2009, 08h23
  3. Réponses: 6
    Dernier message: 05/05/2008, 15h19
  4. Extraire des données d'une BDD
    Par amtdev dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 07/02/2007, 07h18
  5. Réponses: 1
    Dernier message: 28/09/2005, 15h35

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