cs_wow59
Messages postés17Date d'inscriptionlundi 12 janvier 2009StatutMembreDernière intervention26 juin 2009
-
18 juin 2009 à 08:50
cs_wow59
Messages postés17Date d'inscriptionlundi 12 janvier 2009StatutMembreDernière intervention26 juin 2009
-
19 juin 2009 à 08:31
Bonjour à tous,
Voilà je travaille sur un petit projet et ayant récupéré un petit programme je suis tombé sur une partie de code où je ne comprend presque rien. Si quelqu'un arriverai à m'expliquer ce code, ce serai un grand plaisir. Voici la partie du code :
Sub Maj_Stock(Libmvt, artmvt, Libart, Typmvt, Qtemvt, Pumvt)
Affecte
If IsError(Exs_Equiv(artmvt, stk.Range(stk.Cells(2, 1), stk.Cells(2, 1).End(xlDown)))) Then
' Exit Sub
ist = Application.CountA(stk.Columns(1)) + 1
stk.Cells(ist, 1).Value = Libart
Else
ist = 1 + Exs_Equiv(artmvt, stk.Range(stk.Cells(2, 1), stk.Cells(2, 1).End(xlDown)))
End If
Je sais que cette partie de code fait référence à une fonction personnalisée que voici:
Function Exs_Equiv(Valeur_cherchée, ByRef Tableau_Recherche As Range) '?????
Application.Volatile
If Tableau_Recherche.Columns.Count > 1 Then
Exs_Equiv = "La plage de recherche ne doit contenir qu'une colonne !"
Exit Function
End If
Exs_Equiv = ""
On Error Resume Next
Exs_Equiv = Application.Match(Valeur_cherchée, Tableau_Recherche, 0)
If IsError(Exs_Equiv) Then Exs_Equiv = Application.Match(CDbl(Valeur_cherchée), Tableau_Recherche, 0)
If IsError(Exs_Equiv) Then Exs_Equiv = Application.Match(CStr(Valeur_cherchée), Tableau_Recherche, 0)
lepetitcodeur
Messages postés8Date d'inscriptionmercredi 17 juin 2009StatutMembreDernière intervention23 juillet 2009 18 juin 2009 à 16:07
Salut,
Alors en gros de ce que je comprends,
la fonction du bas fait un compte d'une expression dans un tableau (avec un peu du tralala mais en gros c'est un compteur de Valeur_cherchee)
Le sub regarde si la recherche a d'abord pas généré une erreur (IsError), puis ensuite si il y a erreur il rajoute une colonne où il print des Libart (pas très sur de ce point, mais c'est un truc dans ce style), et sinon il incrémente du nombre de Valeur_cherchée trouvées dans le tableau de recherche.
ça parait assez logique au vu du nom du truc (Maj_Stock), genre typiquement je compte combien d'unités on m'a livré dans le tableau, et je rajoute à mes stocks (représentés ici par la variable ist j'imagine).