Problème VBA - Fonction Somme Si Ens
Résolu
Sizlacks
Messages postés
15
Statut
Membre
-
Sizlacks Messages postés 15 Statut Membre -
Sizlacks Messages postés 15 Statut Membre -
Bonjour,
je tente de faire un code vba utilisant la fonction "somme si ens (Sumifs)".
L'idée est que ma fonction fasse la somme des valeurs de la colonne B si les valeurs de la colonne A de la feuille 1 sont incluses dans un intervalle de valeurs définies dans la feuille 2.
J’inclurai en fin de message le code que j'ai déjà effectué.
Le problème est que lorsque je lance mon code en Pas à pas pour vérifier sont fonctionnement, arrivé à la ligne ou j'ai défini ma fonction "Sumifs" VBA me renvoie un message "Erreur d’exécution '1004' : Erreur définie par l'application ou par l'objet".
Je vous serait très reconnaissant du temps que vous prendrez pour jeter un oeil ...
D'avance merci,
Cordialement,
Ci après, mon code.
Sub PassageTiers()
Dim w As Integer 'Colonne Fine
Dim x As Integer 'Colonne tiers
Dim nbrfichier As Integer
Dim nbrfreq As Integer
Dim valtiers As Double
nbrfichier = 39
nbrfreq = 193
w = 1
Do Until w = nbrfichier + 1
w = w + 1
Do Until x = 29
x = 3
valtiers = Application.WorksheetFunction.SumIfs(Worksheets("Résultats_Bandes_Fines").Range(Cells(2, w), Cells(nbrfreq + 1, w)), Worksheets("Résultats_Bandes_Fines").Range(Cells(2, 1), Cells(nbrfreq + 1, 1)), "" > "" & Worksheets(Résultats_Tiers_Oct).Cells(2, x), Worksheets("Résultats_Bandes_Fines").Range(Cells(2, 1), Cells(nbrfreq + 1)), "" <= "" & Worksheets("Résultats_Tiers_Oct").Cells(3, x))
Worksheets("Résultats_Tiers_Oct").Cells(w + 3, x) = valtiers
x = x + 1
valtiers = 0
Loop
Loop
End Sub
je tente de faire un code vba utilisant la fonction "somme si ens (Sumifs)".
L'idée est que ma fonction fasse la somme des valeurs de la colonne B si les valeurs de la colonne A de la feuille 1 sont incluses dans un intervalle de valeurs définies dans la feuille 2.
J’inclurai en fin de message le code que j'ai déjà effectué.
Le problème est que lorsque je lance mon code en Pas à pas pour vérifier sont fonctionnement, arrivé à la ligne ou j'ai défini ma fonction "Sumifs" VBA me renvoie un message "Erreur d’exécution '1004' : Erreur définie par l'application ou par l'objet".
Je vous serait très reconnaissant du temps que vous prendrez pour jeter un oeil ...
D'avance merci,
Cordialement,
Ci après, mon code.
Sub PassageTiers()
Dim w As Integer 'Colonne Fine
Dim x As Integer 'Colonne tiers
Dim nbrfichier As Integer
Dim nbrfreq As Integer
Dim valtiers As Double
nbrfichier = 39
nbrfreq = 193
w = 1
Do Until w = nbrfichier + 1
w = w + 1
Do Until x = 29
x = 3
valtiers = Application.WorksheetFunction.SumIfs(Worksheets("Résultats_Bandes_Fines").Range(Cells(2, w), Cells(nbrfreq + 1, w)), Worksheets("Résultats_Bandes_Fines").Range(Cells(2, 1), Cells(nbrfreq + 1, 1)), "" > "" & Worksheets(Résultats_Tiers_Oct).Cells(2, x), Worksheets("Résultats_Bandes_Fines").Range(Cells(2, 1), Cells(nbrfreq + 1)), "" <= "" & Worksheets("Résultats_Tiers_Oct").Cells(3, x))
Worksheets("Résultats_Tiers_Oct").Cells(w + 3, x) = valtiers
x = x + 1
valtiers = 0
Loop
Loop
End Sub
A voir également:
- Somme si en vba
- Somme si couleur - Guide
- Formule somme excel colonne - Guide
- Somme en anglais excel - Guide
- Incompatibilité de type vba ✓ - Forum Programmation
- L'indice n'appartient pas à la sélection vba - Forum VB / VBA
3 réponses
bonjour, peux-tu utiliser les balises de code pour partager du code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
as-tu essayé de calculer cela en VBA plutôt que via une formule?
as-tu essayé de calculer cela en VBA plutôt que via une formule?
quel type de balise dois-je utiliser pour du code vba... ? "Basic" ? "xml" ?
j'ai commencer vba il y a deux jours, je suis pas encore très bien rodé !