faire la somme des valeurs négatives dans une plage variable

faire la somme des valeurs négatives dans une plage variable - VB/VBA/VBS - Programmation

Marsh Posté le 16-10-2007 à 21:41:30    

Bonjour tout le monde.
 
Je débute dans la programmation VBA et j'ai déjà réussi quelque petite chose sympa comme enregistrer
automatiquement un fichier à la date du jour. Mais dans ce même fichier je suis bloqué et quelques conseils seraient les bienvenues.  
Donc j'ai un fichier que je met à jour tous les jours. Dans cette liste dont la taille est variable. J'ai des valeurs  
négatives et des valeurs positives. Ce que je veux réussir à faire c'est d'un coté la somme des valeurs négatives et de l'autre la somme ds valeurs positives pour ensuite remplir un autre fichier.
J'ai essayé d'écrire une boucle if then sans succès et je pense que c'est trop compliqué et qu'il doit exister plus simple comme la fonction SUM( ) par exemple. Pour le moment, j'ai réussi à écrire une commande qui me permet de sélectinner la plage dans laquelle je viens chercher mes données.
 
Auriez vous une idée pour que je dise à mon programme qu'il fasse la somme des valeurs positives puis la sommes des valeurs négatives et qu'il copie ces valeurs dans une cellule choisis par moi?
 
Merci d'avance pour votre aide et vos conseils
 

Reply

Marsh Posté le 16-10-2007 à 21:41:30   

Reply

Marsh Posté le 17-10-2007 à 08:57:03    

Bonjour,
Tu peux dans une cellule mettre :
=SOMME.SI(B2:B4;">0";B2:B4) pour récupérer la somme des positifis
et donc
=SOMME.SI(B2:B4;"<0";B2:B4) pour récupérer la somme des négatifs.
 

Reply

Marsh Posté le 17-10-2007 à 18:52:07    

oui. Seulement la difficulté est la suivante:
 Le fichier sur lequel je travail est uun nouveau fichier excel chaque jour (extraction du système info ) . Si aujourd'hui je créer une formule qui fait la somme de mes valeurs. demain je dois la réecrire dans le nouveau fichier. C'est pour cette raison que je veux écrire une macro afin de ne pas écrire la formule chaque jour.
 


Message édité par reynald38 le 17-10-2007 à 19:08:35
Reply

Marsh Posté le 17-10-2007 à 21:11:51    

Tu peux
  soit faire une macro qui t'insere la formule dans ton nouveau fichier
  soit faire une macro qui te calcule la somme des + et des -.
pour la 1ere solution... cf la formule
pour la 2ème solution
 tu peux essayer ce code (à adapter)
 
Dim MaSelection As Range
Set MaSelection = Sheets(1).Range("A1:B2" )
TotNeg = 0
TotPos = 0
 
For Each MaCel In MaSelection.Cells
    If MaCel.Value < 0 Then
        TotNeg = TotNeg + MaCel.Value
    Else
        TotPos = TotPos + MaCel.Value
    End If
Next
 
MsgBox TotNeg & " " & TotPos

Reply

Marsh Posté le 21-10-2007 à 20:23:31    

Merci pour ton aide. je vais essayer de ce pas. je te dirai si j'ai réussi.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed