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 :

Les 12 travaux! Excel,vba,formulaire,listes deroulantes en cascade


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Mai 2018
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2018
    Messages : 15
    Par défaut Les 12 travaux! Excel,vba,formulaire,listes deroulantes en cascade
    Bonjour à tous,

    Je suis tout nouveau sur le forum et je découvre que la quantité d'information disponible est tout simplement énorme! Aussi il est possible que certaines de mes problématiques aient déjà été traitées par le passé (c'est même certain) veuillez donc m'excuser si c'est le cas, mais je ne m'y retrouve pas dans tout ça, sans doute à cause du vocabulaire car je ne connais pas trop les mots exacts pour exprimer mes besoins et que je ne sais pas par ou commencer.
    Le plus simple pour moi est donc de vous expliquer mon cas:
    Je dirai que j'ai un niveau moyen en EXCEL, que je connais déjà un peu VBA (un peu!) et que je suis disposé à apprendre plein de choses! Voila une fois ceci posé, j'ai un gros projet (tout est relatif, pour moi ça parait balèze mais bon... vous verrez!) à mettre en forme dans EXCEL et je pense qu'il va falloir l'attaquer par petits bouts...

    Je ne peux pas travailler sur le net avec mon projet réel car certaines données sont confidentielles. Je me servirai donc d'un tableau "exemple" en supposant que je suis le concierge d'un grand club de vacances (la belle vie!). J'ai donc plusieurs bâtiments dans mon club contenant chacun plusieurs chambres dans lesquelles il y a des locataires qui me commandent des travaux. Chaque travail doit porter un numéro de suivi que j'attribuerai manuellement. Le nombre de bâtiments et de chambres peut être variable en fonction des contrats d'entretien qui me reviennent.

    En résumé, je dois partir d'une base de donnée sur la "feuille 1" (par exemple: 30 bâtiments, 300 numéros de chambre, 300 noms de locataires ,etc...), et utiliser un bouton pour appeler un formulaire VBA qui contiendra deux listes déroulantes en cascade, et quelques textbox. J'aimerais que les listes déroulantes permettent de filtrer le contenu des deux premières colonnes de la "feuille 1" à savoir: en colonne A le nom des bâtiments, et en colonne B le numéro des chambres. Une fois sélectionné le batiment et la chambre, on pourra remplir les textbox manuellement ( date de début des travaux, date de fin, numéro de suivi),enfin on validera la saisie avec un bouton et là, la macro créera une nouvelle ligne sur un tableau récapitulatif situé en "feuille 2". Attention, il y a une subtilité, il faudrait que la nouvelle ligne créée en "feuille 2" contienne en colonne A,B,C,D,E les éléments renseignés dans le formulaire, mais il faudra aussi que cette ligne contiennent des éléments récupérés dans la base de données de la "feuille 1", comme par exemple le nom du locataire de la chambre qui se trouve dans la colonne C de la "feuille 1", associé au batiment et à la chambre sélectionnée,ceci apparaitra donc en colonne F de la nouvelle ligne.
    Voila, c'est tout! Comme je l'ai dit au départ, je pense qu'il faut attaquer le probleme par petits bouts. Par exemple, pour alimenter les listes déroulantes en cascade du formulaire, je pense qu'il faudra peut être déjà passer par une "feuille 3" qui extraira les listes de toutes les chambres d'un batiment, et ainsi de suite. J'ai essayé de faire ça avec la "recherche V" malheureusement je galère un peu la dessus... d'autant plus que le contenu de la base de donnée est "vivant", le nombre de bâtiments et de chambre pouvant être variable.

    Bref, s'il y en a un (ou plus!) parmi vous qui veut bien essayer de m'accompagner dans mon projet ou au moins m'indiquer les bonnes pistes, ce serait sympa.

    Merci.

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Oublie Excel pour cela. Cela va juste être l'enfer.

  3. #3
    Membre Expert Avatar de Transitoire
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Décembre 2017
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Décembre 2017
    Messages : 733
    Par défaut
    Bonjour, ça a l'air copieux votre projet.
    Commençons par le début. qu'y a t il d'existant, aujourd'hui a 6:44:00.
    Vous est il possible, de copier votre existant. Sur votre copie, de virer les renseignements sensible et d'installer trois ou quatre lignes dans le ou les tableaux pour l'exemple. avec des noms bidons?
    un truc du genre: Jean Braye 34 rue des écuries d'Augias 82963 herculanum. De nous le transmettre.
    Parceque ça éviterais a ceux qui souhaitent vous aider, un travail considérable, pour se rendre compte, d'une erreur de choix stratégique au bout et de recommencer.
    Cordialement

  4. #4
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Mai 2018
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2018
    Messages : 15
    Par défaut Merci, bien vu
    A cette heure là base de données existe et j'ai aussi créé le formulaire. Je pense du coup que je vais créer un tableau basé sur mon exemple et en conservant l'architecture générale de mon projet réel. Je posterai ensuite ici un lien qui permettra à tout le monde d'accéder au projet.
    Ça ira ?

  5. #5
    Membre Expert Avatar de Transitoire
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Décembre 2017
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Décembre 2017
    Messages : 733
    Par défaut
    "Wait and see" (en anglais dans le texte)
    Cordialement

  6. #6
    Expert éminent 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
    Par défaut
    Citation Envoyé par Leconcierge Voir le message
    je dois partir d'une base de donnée sur la "feuille 1" (par exemple: 30 bâtiments, 300 numéros de chambre, 300 noms de locataires ,etc...)
    Ajoute une "clé", un identifiant unique permettant de repérer l'ensemble bâtiment/chambre/locataire.
    C'est un principe de base (l'indexation) pour la gestion des données et ça te facilitera grandement le traitement.

    Cette clé pourrait, par exemple, être un code composé à partir du numéro de bâtiment et du numéro de chambre.
    Un truc simple (s'il y a moins de 100 chambre par bâtiments) : clé = bâtiment x 100 + chambre.
    Ainsi, dans le traitement, tu pourras facilement recomposer ton code quand tu auras le numéro de bâtiment et de chambre.

    J'aimerais que les listes déroulantes permettent de filtrer le contenu des deux premières colonnes de la "feuille 1" à savoir: en colonne A le nom des bâtiments, et en colonne B le numéro des chambres. Une fois sélectionné le batiment et la chambre, on pourra remplir les textbox manuellement ( date de début des travaux, date de fin, numéro de suivi),enfin on validera la saisie avec un bouton et là, la macro créera une nouvelle ligne sur un tableau récapitulatif situé en "feuille 2".

    Attention, il y a une subtilité, il faudrait que la nouvelle ligne créée en "feuille 2" contienne en colonne A,B,C,D,E les éléments renseignés dans le formulaire, mais il faudra aussi que cette ligne contiennent des éléments récupérés dans la base de données de la "feuille 1", comme par exemple le nom du locataire de la chambre qui se trouve dans la colonne C de la "feuille 1", associé au batiment et à la chambre sélectionnée,ceci apparaitra donc en colonne F de la nouvelle ligne.
    La macro peut se contenter de mettre dans la ligne la clé dont le parlait juste avant.
    Ainsi, le reste des données de feuille 1 souhaitées pourra être récupéré avec de simples RECHERCHEV() ou équivalents.

    Voila, c'est tout! Comme je l'ai dit au départ, je pense qu'il faut attaquer le probleme par petits bouts. Par exemple, pour alimenter les listes déroulantes en cascade du formulaire
    La seule difficulté que je vois dans ton projet, c'est le filtre permettant de réaliser la liste déroulante des chambres. A moins qu'il y ait le même nombre de chambres dans chaque bâtiment et que leur numérotations soient identiques.
    Dans ce cas, il n'y a plus de difficulté, juste du travail à faire.

    Citation Envoyé par Leconcierge Voir le message
    Je posterai ensuite ici un lien qui permettra à tout le monde d'accéder au projet.
    Ça ira ?
    L'idée de Transitoire conseillant d'afficher une copie d'écran de ta structure de données est préférable.
    Ca beaucoup de participants n'ouvre pas les fichiers joints et encore moins les fichiers liés, entre autre pour des raisons de sécurité.
    A lire : https://www.developpez.net/forums/d8...s-discussions/

  7. #7
    Membre Expert Avatar de Transitoire
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Décembre 2017
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Décembre 2017
    Messages : 733
    Par défaut Rectificatif
    Re Bonjour,
    L'idée de Transitoire conseillant d'afficher une copie d'écran de ta structure de données est préférable.
    Sans doute me suis-je mal exprimé. Je préfère personnellement un dossier à ouvrir, ça me permet de faire des tests facilement. soit en format.xlsx soit .xlsm. que j'ouvre sans les macros, et que je peut après vérifications d'usage utiliser et renvoyer avec modifications(enfin celles dont je suis capable).
    Il est clair, qu'il est vital dans une base de données d'avoir pour chaque "fiche", une clé unique!
    J'attends donc le document, pour poser des questions précises!!!
    Cordialement

  8. #8
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Mai 2018
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2018
    Messages : 15
    Par défaut utilisation des clefs
    Cette clé pourrait, par exemple, être un code composé à partir du numéro de bâtiment et du numéro de chambre.
    Un truc simple (s'il y a moins de 100 chambre par bâtiments) : clé = bâtiment x 100 + chambre.
    Ainsi, dans le traitement, tu pourras facilement recomposer ton code quand tu auras le numéro de bâtiment et de chambre.

    => j'ai au moins un "batiment" avec plus de 100 lignes


    La seule difficulté que je vois dans ton projet, c'est le filtre permettant de réaliser la liste déroulante des chambres. A moins qu'il y ait le même nombre de chambres dans chaque bâtiment et que leur numérotations soient identiques.
    => en fait dans le projet réel on trouve des infos chiffrées dans la colonne A et des lettres dans la colonne B, du coup je ne sais pas si c'est possible de transformer ca en clefs, par contre le nombre de lignes est différents dans chaque "bâtiments"


    L'idée de Transitoire conseillant d'afficher une copie d'écran de ta structure de données est préférable.
    => je peux faire ça aussi, comme vous voulez, sinon le lien vers le tableau est en dessous.

    P.S: désolé MENHIR, je ne maitrise pas encore les citations on dirait...

Discussions similaires

  1. Réponses: 4
    Dernier message: 22/01/2007, 19h51
  2. Réponses: 4
    Dernier message: 02/06/2006, 16h57
  3. [VBA-E] Liste deroulante
    Par toniox dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 09/05/2006, 10h41
  4. formulaire liste deroulante qui redirectionne
    Par gandoulfe dans le forum Langage
    Réponses: 3
    Dernier message: 08/03/2006, 18h16
  5. [VBA-E]Comportement de liste deroulante en cascade
    Par Tartenpion dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/03/2006, 14h17

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