Comment convertir cette formule en VBA

Bonjour à tous,

Me voila dans une galère monstre demain je doit rendre un travail mais mon fichier bug car j'ai la formule qui suit 27 fois dans un tableau avec des valeurs différente bien sur. du coup cela fait planter mon ordi ou celui de mes collègues.

Je pense que si je convertis les formules en VBA cela ne se produirais plus.

Merci à tous

=(SOMMEPROD((ROCH!C(-3)=2006)*1;(ROCH!C(-1)=2)*1))+(SOMMEPROD((CES!C(-3)=2006)*1;(CES!C(-1)=2)*1))+(SOMMEPROD((SJS!C(-3)=2006)*1;(SJS!C(-1)=2)*1))+(SOMMEPROD((LTP!C(-3)=2006)*1;(LTP!C(-1)=2)*1))+(SOMMEPROD((LCT!C(-3)=2006)*1;(LCT!C(-1)=2)*1))+(SOMMEPROD((SCT!C(-3)=2006)*1;(SCT!C(-1)=2)*1))+(SOMMEPROD((SDT!C(-3)=2006)*1;(SDT!C(-1)=2)*1))

Bonjour,

Pourriez vous mettre un fichier en exemple avec le résultat souhaité de manière à avoir une vision un peu plus parlante.

J’essaie des demain matin mon fichier est au bureau.

Merci

Bonjour à tous,

Voila, donc se qu'on voit est le tableau final que je souhaite obtenir.

Pour une case, par exemple 2005-contrôlé:

Je souhaite faire apparaître le nombre de client de l'ensemble des classeurs correspondant à ses valeurs.

Merci

feuille calcul

Bonjour,

Si on te demande de joindre un fichier, c’est pour comprendre l’organisation des données et pour pouvoir effectuer des tests. Avec une simple image de feuille, ça complique tu ne crois pas ?

A+

Autant pour moi je découvre le forum.

je ne peut pas transférer le fichier même compressé il reste trop volumineux...

Comment je peux faire ?

Tu n'as pas besoin de transférer la totalité des données.

Pour permettre la compréhension de la structure, il suffit de quelques lignes (sans données confidentielles).

A+

Voila enfin, il faut donc que je remplisse toutes les lignes du tableau sachant que j'ai plusieurs feuille du même style que la LTP et qu'elle doivent aussi intégrer le total des cases du tableau.

Merci

Essaie comme cela

Sub test()
Dim WsS As Worksheet, WsC As Worksheet
Dim F
Dim NomF As Integer, Col As Integer
Dim Ligne As Long
    Set WsS = Worksheets("Feuil3 (2)")
    F = Array("ROCH", "CES", "SJS", "LTP", "LCT", "SCT", "SDT")
    For Col = 3 To 11
        For NomF = 0 To UBound(F)
            Set WsC = Worksheets(F(NomF))
            For Ligne = 2 To WsC.Range("A" & Rows.Count).End(xlUp).Row
                If WsC.Range("A" & Ligne).Value = WsS.Cells(2, Col).Value Then
                    Select Case WsC.Range("C" & Ligne).Value
                        Case 1: WsS.Cells(3, Col) = WsS.Cells(3, Col) + 1
                        Case 2: WsS.Cells(4, Col) = WsS.Cells(4, Col) + 1
                        Case 8: WsS.Cells(5, Col) = WsS.Cells(5, Col) + 1
                    End Select
                End If
            Next Ligne
        Next NomF
    Next Col
End Sub

A+

Petite question,

Dans ton tableau, le format est imposé ou pas ?

Par exemple pourquoi ne pas regrouper tous tes onglets comme ceci et utiliser un TCD ?

Les différentes informations seraient plus facile à traitées et tu pourrais les croiser dans tous les sens sans faire ramer ton fichier.

Je vais essayer, Merci

Rechercher des sujets similaires à "comment convertir cette formule vba"