ririrourou
XLDnaute Nouveau
Bonjour,
Je cherche quelqu'un qui pourra me trouver l'erreur commise dans ce code . En fait, je cherche à faire la somme des cellule figurant dans la colonne J grâce aux données figurant dans les colonnes A et B :
Dans ce code je cherche d'abord dans la colonnes B tous les numéros de compte qui commencent par 42... Pour chaque Numéro de compte trouvé on regarde si la valeur de la cellule A est égal à la lettre "C" si c'est vrai on ajoute la valeur de la cellule se trouvant dans la colonne J a notre "total" . Voici mon code
J'espère seulement que j'étais claire
Merci d'avance
Je cherche quelqu'un qui pourra me trouver l'erreur commise dans ce code
Dans ce code je cherche d'abord dans la colonnes B tous les numéros de compte qui commencent par 42... Pour chaque Numéro de compte trouvé on regarde si la valeur de la cellule A est égal à la lettre "C" si c'est vrai on ajoute la valeur de la cellule se trouvant dans la colonne J a notre "total" . Voici mon code
Code:
Function CreditPassif(No, cd) As Double
Dim c As Range
Dim Ad As String
'Balance est la feuille sur laquelle je travaille.
'Dans la colonne des B il y a des numéros de compte
With Worksheets("Balance").Range("B1:B" & Range("B65536").End(xlUp).Row)
Set c = .Find(What:=No, LookIn:=xlValues, LookAt:=xlPart, _
SearchOrder:=xlByRows, SearchDirection:=xlNext)
If Not c Is Nothing Then
Ad = c.Address
Do
'Je cherche les numéro de compte grâce au soit les 2, 3 ou 4 premiers chiffres
If Left(c, 2) = No Or Left(c, 3) = No Or Left(c, 4) = No Then
'la valeur de la cellule relatif dans la colonnes A doit être égale à cd (c'est la ou je se trouve le problème)
If c.Offset(0, -1) = cd Then
'La somme de la cellule se trouvant dans la colonne des J
CreditPassif = CreditPassif + c.Offset(0, 8)
End If
End If
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Offset <> Ad
End If
End With
End Function
Sub TotalPassif()
Dim Tablo As Variant, Totaux() As Double, Total As Double, somme As Double
'les numéro de compte doivent commencer par 42...
Tablo = Array(42)
For i = 0 To UBound(Tablo)
ReDim Preserve Totaux(i)
'C représente la valeur de la colonne A donc on cherche les numéro de compte qui commence par 42 dans la colonne B une fois trouver un compte on voit si la valeur de la colonne des A est égale à lettre C
Totaux(i) = CreditPassif(CStr(Tablo(i)), "C")
Next
'Pour voir les résultats :
For i = 0 To UBound(Totaux)
Total = Total + Totaux(i)
Next
MsgBox ("le total Passif est : " & Total)
End Sub
J'espère seulement que j'étais claire
Merci d'avance