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 :

Budget : liste déroulante qui envoie des valeurs d'une colonne dans un tableau


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Canada

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

    Informations forums :
    Inscription : Avril 2018
    Messages : 5
    Par défaut Budget : liste déroulante qui envoie des valeurs d'une colonne dans un tableau
    Bonjour le forum,

    Je reviens à vous car je suis actuellement dans une impasse qui me cause de sérieux maux de tête.

    Je vous soumets les fichiers sur lesquels je travaille. C'est un budget perso.

    Ce qui nous intéresse se trouve dans les onglets "Comptes à payer" et "Tableaux de références" du classeur "Budget 2018".

    Le problème se trouve aux cellules G9;G11:G19.

    J'énonce le problème avec le plus de détails possible, pour être le plus clair et bien compris :

    1) Dans la cellule G9, il y a une liste déroulante contenant les mois de l'année.

    2) Dans les cellules G11:G19, on y inscrit les montants budgétés par rapport aux comptes à payer dans C11:C19.

    3) Ces montants doivent être copiés dans le tableau C34:N43 de la feuille "Tableaux de référence" et ce, dans les cellules correspondantes aux mois choisis.
    Donc, pour le mois de janvier, dans ce tableau C35, on retrouve =INDEX('Comptes à payer'!G11;1), C36 =INDEX('Comptes à payer'!G12;1)...
    De cette façon, à la fin de l'année, ce tableau sera rempli des valeurs provenant G11:G19 selon le mois.

    4) En même temps, et là, je ne sais pas si cela est possible, en sélectionnant dans G9 de 'Comptes à payer' un mois, par exemple janvier, s'affichent dans G11:G19, les valeurs provenant de 'Tableaux de référence'!C35:C43. et ainsi de suite pour les autres mois.

    Selon moi, je crois qu'il serait préférable de créer un petit VBA pour accomplir ceci mais, puisque je n'y connais rien en VBA, je suis perdu.

    J'espère avoir été clair dans mes explications,

    Merci à tous pour votre aide qui m'est précieuse,

    CamaalotComptes 2018.xlsmBudget 2018.xlsm

  2. #2
    Rédacteur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2013
    Messages
    1 023
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Août 2013
    Messages : 1 023
    Par défaut
    Une des règles du forum est de ne pas ouvrir les fichiers xlsm joints.
    Comme tu poses ta question sur un forum VBA, tu es sensé avoir écrit un debut de code, que tu nous montres.
    Ou si tu n'as aucune notion en VBA, tu commences par te documenter, voir le lien sur le tome 1 dans ma signature.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Canada

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

    Informations forums :
    Inscription : Avril 2018
    Messages : 5
    Par défaut
    Bonjour laurent_ott, le forum,

    Oui, tu as tout à fait raison. Voilà, j'ai fait mes devoirs et je te réponds.

    J'ai réussi à obtenir ce VBA qui fait la première partie de ce que j'ai besoin. Copier les valeurs de la colonne du tableau de la feuille 2 selon le mois choisi. Cool !
    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
     
    Option Explicit
     
    Sub FindAndFill()
    Dim mVal    As String
    Dim fCol    As Long
    Dim c       As Range
    Dim xRow    As Long
    mVal = Worksheets("Feuil1").Range("D4").Value
    fCol = Worksheets("Feuil2").Range("B5:M5").Find(What:=mVal, LookIn:=xlValues, LookAt:=xlWhole).Column
    If fCol = 0 Then Exit Sub
    xRow = 5
    For Each c In Worksheets("Feuil2").Range(Worksheets("Feuil2").Cells(6, fCol), Worksheets("Feuil2").Cells(14, fCol))
        xRow = xRow + 1
        Worksheets("Feuil1").Cells(xRow, "D").Value = c.Value
    Next c
     
    End Sub
    Maintenant, ce que je n'arrive pas à concevoir est la deuxième partie.

    Si une colonne du tableau de la feuille 2 est vide, je dois pouvoir la remplir en inscrivant les valeurs dans D614 de la feuille 1, encore selon le mois choisi.
    Si j'écris la formule =SOMME.SI(Feuil1!I4;"Mai";Feuil1!D6), la valeur se remettra a 0 si je change de mois et reviens à Mai.

    Toutes les cellules du tableau doivent contenir la formule, parce qu'un jour, le mois de janvier va certainement revenir... à moins que ce ne soit la fin du monde mais, j'en doute.

    J'espère satisfaire les règles du forum et
    merci pour votre temps et votre aide précieuse,

    Camaalot

    Pièce jointe 374669
    Images attachées Images attachées   

  4. #4
    Rédacteur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2013
    Messages
    1 023
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Août 2013
    Messages : 1 023
    Par défaut
    Désolé, je n'ai pas pris le temps de te répondre. Et je suis surpris que personne ne t'ai répondu.

    Deux remarques :
    . pour un débutant tu te débrouilles très bien, je pense même que tu as trouvé la solution à ton problème au moment où j'écris ces lignes ;
    . au lieu de mettre des coordonnées en dure, utilises des plages nommées et leur adresse, cela permet de déplacer les tableaux sans incidence pour le code.

    Si tu as encore des questions, consule moi en messagerie privée, car ton problème semble n'intéresser personne, donc inutile de déranger ce forum.

Discussions similaires

  1. [AC-2007] Liste déroulante en fonction de valeur dans un formulaire
    Par helico57570 dans le forum IHM
    Réponses: 1
    Dernier message: 19/10/2010, 18h10
  2. Select multiple qui envoi des valeurs différents
    Par novasenha dans le forum Langage
    Réponses: 5
    Dernier message: 14/05/2009, 19h27
  3. [excel] Liste déroulante: lien vers des valeurs
    Par Rémirem dans le forum Excel
    Réponses: 2
    Dernier message: 19/07/2007, 10h21
  4. liste déroulante et conservation des mots dans un input
    Par LAYETGIRL dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 12/03/2007, 09h47
  5. [MySQL] Liste deroulante et inscription des valeurs dans une table
    Par stefon dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 24/11/2006, 15h31

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