Besoin d'aide pour Visual Basic - Excel

Résolu
frins Messages postés 83 Statut Membre -  
frins Messages postés 83 Statut Membre -
Bonjour à tous,

Je suis à la recherche de quiconque pourra m'aider à créer un code visual basic.

Voici mon besoin :

J'ai un fichier excel qui me sert de bon de commande.
En page 1, un tableau avec les colonnes suivantes :
Référence - Désignation - Quantité - Taille - P.U.H.T. - P.T.H.T.

En page 2, ma base de données avec les colonnes suivantes :
Référence - Désignation - P.U.H.T.


Dans la colonne "désignation" de la page 1, j'aimerais créer une liste déroulante des choix de la colonne "désignation" de ma base de données (page 2).
Une fois que mon choix est fait, j'aimerais que les colonnes "Référence" et "P.U.H.T." de la page 1 se remplisse avec les restes des données correspondantes, "Référence" et "P.U.H.T" de la page 2

Les colonnes " quantité", "taille", se remplissent manuellement par moi même, et la colonne "P.T.H.T" se fera automatiquement par une simple formule de multiplication entre les colonnes "Quantité" et "P.U.H.T". Ça, je peux me charger de le faire :)


Pour résumer, je souhaiterais remplir mon bon de commande en ne choisissant que la désignation de l'article dans une liste déroulante.


Je vous remercie déjà par avance de l'aide que vous saurez m'apporter.

Bien à vous.

Pierre
A voir également:

8 réponses

michel_m Messages postés 18903 Statut Contributeur 3 317
 
Bonjour,

Tu tiens absolument à du VBA pour faire un truc qui pourrait se faire avec des formules toutes simples?
0
frins Messages postés 83 Statut Membre 11
 
Bonsoir Michel.

Je ne sais pas trop ce qui est le mieux, en parcourant un peu le net, j'ai vu que VBA serait plus utile..
Mais bon, je n'y connais pas grand chose, donc si des formules pourraient le faire, je ne suis absolument pas contre..

Merci de t'intéresser à mon sujet.
0
frins Messages postés 83 Statut Membre 11
 
Un petit coup de "up" à mon sujet, c'est assez important et urgent..

Merci à ceux qui voudront bien m'aider.

Pierre
0
prunety Messages postés 87 Statut Membre 4
 
bah pas besoin de VBA
Je pense qu'une fois que tu as sélectionne ta valeur dans la liste déroulante un coup de recherchev dans ta page 2 devrait te ramener tes informations (attention, il faut que "désignation" soit la 1ere colonne de ton tableau en page 2
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
frins Messages postés 83 Statut Membre 11
 
Résumons :
ma page 1 contient les colonnes suivantes (dans l'ordre) :
Référence ; désignation ; quantité ; taille ; P.U.H.T. ; P.TH.T

ma page 2 contient les colonnes suivantes (dans l'ordre) :
désignation ; référence ; P.U.H.T.

J'ai pu créer ma liste déroulante pour la partie désignation, faisant le lien entre les pages 1 et 2.

Comment utiliser alors la fonction recherche V pour que mes colonnes référence ; P.U.H.T. de la page 1 se remplisse avec les données de la page 2 ?
0
prunety Messages postés 87 Statut Membre 4
 
ok,
dans la cellule ou tu veux récupérer le P.U.H.T tu tape :
=Recherchev(adresse de la cellule contenant ta liste déroulante; la plage ou sont tes données dans la page 2; le numéro de la colonne ou se trouve le P.U.H.T. (a=1,b=2,c=2...);FAUX)
il te faut la même formule pour chaque P.U.H.T recherché
0
frins Messages postés 83 Statut Membre 11
 
Super, ça fonctionne parfaitement..
Merci beaucoup pour cette aide, ça va bien me faciliter les choses pour mes commandes.

Juste une dernière question :

Mon bon de commande est défini par 20 lignes. J'ai appliqué les formules précédentes sur l'ensemble des 20 lignes.
Pour celles qui ne sont pas remplies (car achat de moins de 20 articles différents par exemple), les cellules définie par la formule affichent #N/A car pas de données sont rentrées.
Cela empêche donc le calcul de mon Total HT (somme de tous les P.T.H.T) situé en bas de page.

Y a t-il un moyen d'éviter cela, autrement qu'en supprimant les formules des lignes non remplies ?

Par avance merci

Pierre
0
michel_m Messages postés 18903 Statut Contributeur 3 317
 
Bonjour

=si(adresse de la liste déroulante="";"";recherchev(adresse de la liste déroulant; ect.))
0
frins Messages postés 83 Statut Membre 11
 
ça fonctionne, merci.

Je marque le sujet comme "résolu".

Je vous remercie encore de l'aide précieuse que vous avez su m'apporter.

Bonne continuation à vous.

Pierre
0