XL 2016 Comment contourner la fonction Indirect d'Excel avec code VBA

ma6me

XLDnaute Nouveau
Bonjour à tous,
SVP, je suis en train de créer un fichier Excel pour la gestion des entrées et sorties d'une activité. Les entrées et sorties sont renseigné dans un seul tableau Excel afin de trouver de manière dynamique les soldes de trésorerie. Pour les recettes qui dépendent des codes de catégories d'activité qu'on obtient après avoir choisi le sens des opérations (Entrées ou Sorties), j'aimerais ramené par liste déroulante les numéros de facture non soldés issu d'une feuille de facturation portant le nom de la catégorie choisie.
Ayant plusieurs catégories de facturation donc plusieurs feuilles, j'ai utilisé la fonction INDIRECT et ai fait le test avec une feuille de facturation (liée donc à une catégorie).
Mon problème est que l'application ralentit beaucoup pour valider les réponses.
J'aimerais donc avoir un code VBA qui peut me permettre de ramener la liste déroulante des numéros de facture à chaque sélection de la catégorie correspondante.
Je m'excuse pour la longueur. J'espère que cela a été utile pour la compréhension.
Merci de m'aider car mes connaissances en VBA ne sont pas encore parfaites.
 
Solution
Re,
Vraiment pas sur d'avoir compris.
En PJ un essai avec un userform.
Quand on clique dans le tableau R&D colonne G, on ouvre un userform avec la liste des factures non soldées.
Si on clique sur une facture, elle s'insère dans la cellule cliquée ainsi que le taux utilisé.

ma6me

XLDnaute Nouveau
Re, bonjour Job,
Outre la question de Job, qui remplit la feuille R&D ?
En colonne E vous avez A et Carburant, que faire si vous avez plusieurs factures non réglées en feuille A ?
Ne serait ce pas à la macro de tout remplir la feuille R&D ?
Bonjour Sylvanu. C'est l'utilisateur qui va remplir cette feuille, en sélectionnant les données suivant les choix précédents, dans une liste de choix.
 

ma6me

XLDnaute Nouveau
Re,
Mais pour répondre à votre question initiale :
Si vous voulez accéder à la valeur de feuille A en C7, sachant que la feuille est données en E5 de R&D :
en formule :
VB:
=INDIRECT(E5&"!C7")
en VBA, entre autres :
Code:
Valeur = Sheets(Range("E5").Value).Range("C7")
ce que je voulais, c'est quand on renseigne LE SENS qui est Entrée et la Catégorie de recette (par exemple A), il faut qu'on obtienne automatiquement la liste des factures non soldées provenant de la feuille A (bien sûr on va faire un traitement sur le solde pour sortir dans une autre colonne le numéro de ses factures non soldées).
Dès que je choisi la catégorie B je voulais avoir automatiquement la liste des factures non soldées de cette catégorie.
j'ai réussi à faire ça avec la fonction INDIRECT mais cela ralentit énormément le traitement. En plus je n'ai fait que pour une feuille de facturation en attendant.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
Vraiment pas sur d'avoir compris.
En PJ un essai avec un userform.
Quand on clique dans le tableau R&D colonne G, on ouvre un userform avec la liste des factures non soldées.
Si on clique sur une facture, elle s'insère dans la cellule cliquée ainsi que le taux utilisé.
 

Pièces jointes

  • Pour exemple ok V2.xlsm
    38.4 KB · Affichages: 2
Dernière édition:

ma6me

XLDnaute Nouveau
Re,
Vraiment pas sur d'avoir compris.
En PJ un essai avec un userform.
Quand on clique dans le tableau R&D colonne G, on ouvre un userform avec la liste des factures non soldées.
Si on clique sur une facture, elle s'insère dans la cellule cliquée ainsi que le taux utilisé.
Super, vous avez bien compris. j'avais pas pensé à Userform pour le faire quand même. Je pensais qu'on pouvait sortir une liste de choix habituel. Mais j'ai aimé le Userform, c'est bien.
Ah j'aimerais avoir une maitrise fluide de VBA comme vous.

Svp, juste une amélioration pour voir: est ce possible que dès que les valeurs précédentes de sens et catégories changent, que les informations qui étaient mis avant s'initialisent ou s'effacent? ça serait vraiment super.
Merci!
 

ma6me

XLDnaute Nouveau
Un essai en PJ.
Si changement de Sens ou de Cat on efface N° de facture et Taux horaire.
( je ne touche pas au reste des valeurs entrées, faut il les effacer ? )
Merci, c'est bien cela. oui on ne touche pas normalement au reste des valeurs entrées.
Mon problème est alors résolu.
Je reviendrai pour d'autres sujets au besoin.
Encore merci pour votre diligence et maîtrise.
 

Discussions similaires

Réponses
8
Affichages
809

Statistiques des forums

Discussions
314 863
Messages
2 113 650
Membres
111 930
dernier inscrit
fab_met