• Initiateur de la discussion Initiateur de la discussion Nenesandco
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

N

Nenesandco

Guest
Bonjour à tous,


J'espère que vous pourrez m'aider. En pièce jointe, mon fichier test.

Je cherche à remonter une quantité précise en fonction d'une date d'expédition : quelles quantités ont été expédiées entre le 1er janvier 2013 et le 31 décembre 2013 ? Quelles quantités ont été expédiées entre le 1er janvier 2014 et le 31 décembre 2014 ?

Voici le code que j'ai utilisé :

Code:
Sub test_calcul()
    
Dim x As Integer
    
    
For x = 8 To 9

    Cells(3, x + 1) = Application.WorksheetFunction.SumIfs(Columns(5), Columns(7), "expéditions", Columns(1), ">=" & Cells(1, x + 1), Columns(1), "<=" & Cells(2, x + 1))
              
Next
          
End Sub

Je ne comprends pas vraiment pourquoi mon code me renvoie 0 en résultat. J'imagine qu'il s'agit d'un problème avec les dates mais je ne trouve.

Avez-vous une solution ? 🙂

PS : je débute tout juste avec VBA. J'espère que vous serez indulgents ! 🙄

Merci beaucoup pour l'aide que vous pourrez m'apporter !
 

Pièces jointes

Re : VBA - Sumifs

Bonjour
Pourquoi utiliser le vba? (sauf si tu nous cache quelquechose)

avec la fonction =SOMME.SI.ENS

mets en e9: =SOMME.SI.ENS(E2:E7;G2:G7;"expéditions";a2:a7;">=01/01/2013 ";a2:a7;"<=31/12/2013")...

avec une macro on peut faire
Sub essai()
Dim x As Integer
Range("e10").ClearContents
For x = 2 To 8
If Cells(x, 7).Value = "expéditions" Then
mavar = Cells(x, 1).Value
If Cells(x, 1).Value >= CDate("01/01/2013") And Cells(x, 1).Value <= CDate("31/12/2013") Then
Range("e10").Value = Range("e10").Value + Cells(x, 5).Value
End If
End If
Next
End Sub

A+ François
 
Re : VBA - Sumifs

Bonjour François,


En effet, je cachais quelque chose. 🙂

Je m'explique, techniquement, le fichier existe déjà et j'utilise d'ailleurs la fonction SOMME.SI.ENS.

Mais mon fichier est très lourd : je ne compte plus le nombre de cellules où j'ai des fonctions RECHERCHEV et SOMME.SI.ENS ...
Dès que je modifie une donnée, il lui faut plus de 30 secondes pour afficher le résultat.

Du coup, j'essaie avec VBA d'alléger un peu mon fichier : certaines données n'ont pas besoin d'être recalculée systématiquement.

Je ne sais pas si je suis sur la bonne voie mais je teste.

Merci pour le code, je l'essaie de suite ! 🙂
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

C
  • Question Question
Réponses
8
Affichages
1 K
clarouche33
C
D
Réponses
4
Affichages
1 K
B
  • Question Question
Microsoft 365 colorer une plage
Réponses
2
Affichages
948
bd.afaf
B
Réponses
17
Affichages
2 K
P
  • Question Question
Réponses
1
Affichages
2 K
Patrosso
P
L
Réponses
1
Affichages
1 K
Lucien31
L
G
Réponses
2
Affichages
1 K
Galaxie66
G
M
  • Question Question
Réponses
0
Affichages
1 K
Mirguy23
M
A
Réponses
1
Affichages
956
Retour