Code VBA

Didp Messages postés 3 Date d'inscription jeudi 20 avril 2006 Statut Membre Dernière intervention 5 août 2006 - 3 août 2006 à 22:29
Didp Messages postés 3 Date d'inscription jeudi 20 avril 2006 Statut Membre Dernière intervention 5 août 2006 - 5 août 2006 à 18:31
Bonjour

Donc Voilà cala concerne une gestion de stock, avec un userform je creer une facture, et j'aimerais savoir comment je pourrais déduire de mon stock la quantité, ciblé par rapport à une référence.
EXEMPLE :
Dans l'userform j'ai une case Référence que je remplie qui a pour fonction de me remplir directement une case désignation, qui est déja programmé dans le tableur, je remplie la case quantité vendue, et j'aimerais, que la formule retrouve dans le tableur la reference qui est situé dans une colonne "Référence",et qu'elle déduise automatiqument dans la colonne "Stock" la valeur de la quantité vendue.

Merci d'avance

4 réponses

cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
4 août 2006 à 00:14
Salut,

C'est pas très clair... En fait, il faudrait savoir comment est fait
ton classeur. Si la cellule à modifier (quantité vendue) est une
formule qui va chercher dans une autre feuille, c'est celle-là qu'il
faudrait modifier.


Donc, en principe, tu pourrais mettre un bouton, disons "Mettre à
jour". Dans le code de ce bouton, il faut que tu fasses une recherche
du code (ou autre unité distincte) du produit dans la feuille où les
données sont inscrites.


Dim Recherche,

Dim Qté as Integer, Code As long


Qté = CInt(TextboxQuantitéVendue)

Code = textboxDuCode


'Recherche du code dans la colonne A

Set Recherche = Sheets("LaFeuilleDeDonnées").Range("A:A").Find(LeCode)

if not recherche is nothing then  'Trouvé

    'modifier la valeur dans la 2e colonne à la droite du code trouvé

    Sheets("LaFeuilleDeDonnées").Range(Recherche.Address).Offset(0,2) = _

            
Sheets("LaFeuilleDeDonnées").Range(Recherche.Address).Offset(0,2) - Qté

else

    msgbox"Le code n'existe pas"
end if


En principe, ça devrait bien fonctionner. Il ne reste qu'à changer les noms de feuilles et les variables selon ton besoin.


Note: Il arrive parfois que la recherche ne retourne rien parce que les
données ne sont pas du même type. "123" est différent de 123

Donc, si tu recherches un chiffre dans une colonne de type Texte, ça ne retournera rien et vice versa.


MPi
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
4 août 2006 à 06:33
Salut,

Si j'ai bien compris, dans ta feuille Excel, tu as une cellule qui calcul le numéro de la facture !

Si c'est ça, sélectionne cette cellule, et dans le croisement des entêtes de ligne et colonne, au lieu de l'adresse de cellule, tape : NumFacture (et appuie sur entrée).

Ensuite, dans UserForm_Initialize (ou activate, comme ça t'arrange) :

TonTextBox.Text = CLng(Range("NumFacture").Value)

' CLng, sert à convertir, comme te le précise MPi (suite aux différents type de données => tu peux ne pas le mettre..)

@++

--Mortalino--
Le Mystérieux Chevalier "Provençal, le Gaulois"
0
Didp Messages postés 3 Date d'inscription jeudi 20 avril 2006 Statut Membre Dernière intervention 5 août 2006
5 août 2006 à 18:16
Salut
   Ton Code a l'air correct, mais il Stop a la premiere ligne au niveau de

DIM Recherche,

il n'a pas l'air d'accepter la virgule et si je la supprime, cela ne fonctionne pas

Merci
0
Didp Messages postés 3 Date d'inscription jeudi 20 avril 2006 Statut Membre Dernière intervention 5 août 2006
5 août 2006 à 18:31
Non, dans mon userform j'ai deux case une case "Reference" et une "quantité" dans mon tableur "Feuil1" j'ai un tableau avec deux colonnes "Une Référence" et une "Quantité"et j'aimerais que quand je tape dans l'Userform une référence et une quantité, cela retrouve la reference dans le tableur et quelle déduise la quantité tapé correspodant a cette référence

Merci
0
Rejoignez-nous