Un peut sec mais merci
Private Sub jajouter_Click() Dim li As Integer Dim qe As Range 'quantité entree Dim qs As Range 'quantité sortie Dim crit As Range 'critère Set qe = Sheets("fjournal").Range("F2:F" & Sheets("fjournal").[F65536].End(xlUp).Row) Set qs = Sheets("fjournal").Range("F2:F" & Sheets("fjournal").[F65536].End(xlUp).Row) li = 1 Do Until IsEmpty(Sheets("fjournal").Range("B" & li)) 'champs obligatoire If jlistarticle.Value "" Or jdate.Value "" Or jqte.Value = "" Then MsgBox "Veuillez renseigner tous les champs obligatoire (*)", vbInformation, "Champs obligatoire" Exit Sub End If li = li + 1 Loop Dim x As Integer If jSortie.Value True Then x 7 If jEntree.Value True Then x 6 With Sheets("fjournal") .Range("B" & li) = CDate(jdate) 'date .Range("C" & li) = jcode.Value 'code article .Range("D" & li) = article.Caption 'designation article .Cells(li, x) = jqte.Value 'quantité en mouvement .Range("H" & li) = jprix.Value .Range("I" & li) = jnb.Value End With With Sheets("fstock") While Range("c" & x) <> "" If Range("C" & x) = jcode.Value Then crit = Range("C" & x) 'c'est ici que je vais inserer les codes qui calcules le somme des articles restant en stock Range("H" & x).Formula = "=sumif(qa;crit;qe)+sumif(qa;crit;qs)" End If Wend End With userform_initialize jqte.Value = "" jnb.Value = "" End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionEn fait, je suis un amateur et autodidacte en vba excel
je ne m'y suis intéressé qu'il y a un
with sheets("stock") ... end with
While Sheets("fstock").Range("c" & x) <> "" If Sheets("fstock").Range("C" & x) = jcode.Value Then crit = Sheets("fstock").Range("C" & x) Sheets("fstock").Range("H" & x) = jqte.Value + WorksheetFunction.SumIf(qa, crit, qe) - WorksheetFunction.SumIf(qa, crit, qs) End If Wend
end if
dim z,f as integer dim qa, qe, qs, crit, solution as range f = sheets("feuil1").range("B65536").end(xlup).row set qa = sheets("feuil1").range("C2:c"&f) set qe = sheets("feuil1").range("F2:F"&f) set qs = sheets("feuil1").range("G2:G"&f) z = 2 While Sheets("feuil2").Range("c" & z) <> "" If Sheets("feuil2").Range("C" & z) = jcode.Value Then Set crit = Sheets("feuil2").Range("C" & z) 'le critère de recherche Set resf = Sheets("feuil2").Range("H" & z) 'ancien valeur de disponible (critère) Set solution = Sheets("feuil2").Range("H" & z) 'nouvel valeur de après calcule solution = resf + WorksheetFunction.SumIf(qa, cri, qe) - WorksheetFunction.SumIf(qa, crit, qs) End If z = z + 1 Wend
f = sheets("feuil1").range("B65536").end(xlup).row + 1 If Sheets("feuil2").Range("C" & z) = val(jcode.text) Then
Set resf = Sheets("feuil2").Range("F" & z)
=F2+SOMME.SI(feuil1!C2:C25;feuil2!C2;feuil1!F2:F25)-SOMME.SI(feuil1!C2:C25;feuil2!C2;feuil1!G2:G25)
dim qa, qe, qs, crit, solution, resf as range = resf + WorksheetFunction.SumIf(qa, cri, qe) - WorksheetFunction.SumIf(qa, crit, qs)
dim z,f as integer dim qa, qe, qs, crit, solution as range