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 🙁. 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
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 🙂