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

Conception Discussion :

Générateur de base de données


Sujet :

Conception

  1. #1
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2015
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Générateur de base de données
    Bonjour à tous,

    Tout d'abord, je vous remercie de prendre le temps de me lire!

    Je travaille pour une firme d'évaluateurs agréés au Québec. Afin d'agrémenter nos rapports d'évaluations, nous annexons des fiches techniques d'immeubles comparables vendus dans le même secteur que nos propriétés évalués. Ces fiches regroupent plusieurs informations que nous souhaitons répertorier dans une base de données afin de générer des tableaux de ventes comparables et des mesures statistiques (moyenne de prix, de superficie, de taux de location, etc.) nous permettant d'identifier rapidement les fiches d'immeubles comparables à notre sujet.

    Mon fichier excel aurait la structure suivante: une première feuille nommée ''Base de donnée'' puis 1 feuille par fiche d'immeubles. Pour ce fichier, je souhaite principalement deux choses:

    1 - Que chaque fois que je crée une feuille, elle ne soit pas vierge. J'aimerais que ce soit une fiche modèle vierge, c'est-à-dire une fiche avec des listes déroulante et informations génériques déjà inséré telles que Date de vente dans la cellule G4 puis une cellule vierge à sa droite où l'on aurait qu'à inscrire la date. Pour la fiche modèle, pas de problème, je l'ai déjà réalisé. Mon hypothèse est que je devrai chaque fois créer une copie d'une feuille modèle. Si vous avez d'autres suggestions, je suis tout ouïe, mais là ne réside pas l'essentiel de mon problème.

    2 - Que chaque fois que je crée une feuille, un lien se crée entre chacune de mes données et une nouvelle entrée dans ma base de donnée. Je m'explique... J'aimerais qu'en remplissant une nouvelle fiche, la date de vente, l'adresse, le prix de vente, etc. se retrouve automatiquement dans la base de donnée. Aussi, j'aimerais qu'un hyperlien se crée automatiquement entre la cellule # Entrée (par exemple, A2 soit l'entrée #1) et la fiche (feuille) #1 afin qu'on puisse rapidement accéder à la fiche 603 sur 1000 sans avoir à défiler parmi les feuilles de calcul. Je suis capable de le faire manuellement, mais s'il y avait un moyen de le faire automatiquement, ce serait parfait pour les dinosaures (sans offense) avec qui je travaille.

    Bref, j'ai commencé à faire un fichier de base (manuellement) que j'ai joint au présent message afin d'être certain que vous compreniez bien mes idées. N'hésitez pas à ''péter ma bulle'', comme on dit souvent au Québec, si mes demandes vous semblent impossible à réaliser.

    Merci à l'avance,

    Alex
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Pour bien placer ta demande, est-ce que tu cherche un développeur bénévole ou est-ce que tu recherches un professionnel qui pourrait se proposer pour travailler sur ce projet après devis ?

  3. #3
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2015
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Edit: J'avais oublié de joindre le fichier mis à jour.

    Citation Envoyé par Menhir Voir le message
    Pour bien placer ta demande, est-ce que tu cherche un développeur bénévole ou est-ce que tu recherches un professionnel qui pourrait se proposer pour travailler sur ce projet après devis ?
    Bonjour Menhir,

    Je ne cherche pas quelqu'un pour faire le travail à ma place, mais bien quelqu'un qui pourrait me guider dans l'automatisation de la base de donnée. Pour l'instant, je procède de la manière suivante:

    1 - Je fait une copie de ma feuille modèle que je renomme avec le numéro de la fiche
    2 - Je fait le lien manuellement entre celle-ci et la base de donnée, par exemple, pour l'entrée numéro 4 sous la colonne B (No civique), je tapperai = puis je cliquerai sur ma feuille 4 pour sélectionner la cellule AB1 (fusionné sous le nom No_civ).
    3 - Je crée un hyperlien entre mon numéro d'entrée (par exemple, pour 4, je clique droit sur A5 pour créer un hyperlien qui me dirige à la fiche #4).
    4 - Une fois que le lien est fait entre la nouvelle fiche et chaque colonne de la BD, j'entre mes données dans la fiche et celle-ci sont reportés dans la BD.

    J'aimerais savoir comment automatiser ces étapes. J'ai tenté d'enregistrer un macro, mais sans succès. De plus, j'ai l'impression que ce macro ne s'appliquerait pas à chaque nouvelle entrée, mais bien seulement à l'entrée initiale qui aura servir à l'enregistrement du macro. Ai-je tort de penser ainsi?

    Merci à l'avance pour votre temps et considération,

    P.S. Voici une mise-à-jour du document sur lequel j'ai continué de travailler hier soir.

    Alex
    Fichiers attachés Fichiers attachés

  4. #4
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par Alex_évaluateur Voir le message
    J'ai tenté d'enregistrer un macro, mais sans succès. De plus, j'ai l'impression que ce macro ne s'appliquerait pas à chaque nouvelle entrée, mais bien seulement à l'entrée initiale qui aura servir à l'enregistrement du macro. Ai-je tort de penser ainsi?
    L'enregistreur de macro est un outil vraiment très intéressant, tant qu'on connait ses limites et qu'on les accepte

    C'est l'outil idéal pour te mettre sur la piste d'une solution en t'indiquant quels objets, procédures, paramètres ou propriétés il faut utiliser. Pour un débutant (ou même pour les autres), c'est déjà énorme comme gain de temps.
    En revanche, ce n'est pas lui qui fera ton code.

    Il faut comprendre le code qu'il génère en étudiant chaque élément que tu ne comprends pas en utilisant l'aide VBA intégrée à Excel.
    Ce n'est qu'ainsi que tu peux adapter ton code pour le rendre utilisable.

    J'aimerais savoir comment automatiser ces étapes.
    1 - Je fait une copie de ma feuille modèle que je renomme avec le numéro de la fiche
    Imaginons que ton onglet modèle s'appelle "MonModele" et que tu veuille créer une fiche nommée "MaNouvelle".
    Tu peux en placer une copie à la suite du dernier onglet ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Worksheets("MonModel").Copy After:=Worksheets(Worksheets.Count)
    Worksheets(Worksheets.Count).Name = "MaNouvelle"
    2 - Je fait le lien manuellement entre celle-ci et la base de donnée, par exemple, pour l'entrée numéro 4 sous la colonne B (No civique), je tapperai = puis je cliquerai sur ma feuille 4 pour sélectionner la cellule AB1 (fusionné sous le nom No_civ).
    Je n'ai pas ouvert la pièce jointe ce qui limite ma compréhension de ton explication mais si tu veux modifier la formule d'une cellule, c'est, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("MaFeuille").Cells(1,1).FormulaLocal = "=B1+B2"
    Si ton Excel est en anglais, le "Local" n'est pas utile.

    3 - Je crée un hyperlien entre mon numéro d'entrée (par exemple, pour 4, je clique droit sur A5 pour créer un hyperlien qui me dirige à la fiche #4).
    Voir dans l'aide VBA d'Excel la propriété Hyperlinks de l'objet Range ainsi que les membres de l'objet Hyperlink.

  5. #5
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2015
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci beaucoup Menhir,

    Je ferai des tests avec les pistes que tu m'as donnée,

    Bonne journée!

    Alex

  6. #6
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 86
    Points : 85
    Points
    85
    Par défaut
    Bonjour,

    Concernant la pose des hyperlinks, une petite suggestion peut-être.

    En VBA, dans l'objet workbook ou dans l'objet worksheet, il y a la gestion du double click.

    Au vu du besoin, j'aurais tendance à conseiller de regarder comment se gère l'évènement DoubleClick de la feuille Base de données.
    C'est un évènement qui a cette signature:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     
    End Sub
    Pourquoi ? Parce que cela permet d'implémenter la logique de navigation vers les différents onglets à un seul endroit, sans avoir à surcharger le classeur avec des hyperlinks.

    A noter que la variable Target désigne une cellule (Range), il est donc possible de déterminer ligne et colonne pour borner le déclenchement du code en question (Target.Row & Target.Column)

  7. #7
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2015
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci je vais essayer ça aussi!

    Bonne journée,

    Alex

Discussions similaires

  1. base de données d'un générateur de sites web dynamiques
    Par salwa13 dans le forum Langages serveur
    Réponses: 1
    Dernier message: 06/09/2011, 11h26
  2. [MySQL] Générateur d'interfaces web d'administration de bases de données ?
    Par oops! dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 12/01/2010, 17h37
  3. Base de données Générateur de CV
    Par Tartuffe245 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 25/06/2009, 16h26
  4. Générateur de Base de données d'essais ?
    Par belocom dans le forum VB.NET
    Réponses: 2
    Dernier message: 04/07/2007, 13h44
  5. Comment faire un générateur de base de donnée
    Par nistelsof dans le forum NetBeans
    Réponses: 4
    Dernier message: 03/06/2007, 22h45

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