Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/02/2012, 19h59   #1
Invité régulier
 
Inscription : août 2011
Messages : 41
Détails du profil
Informations forums :
Inscription : août 2011
Messages : 41
Points : 6
Points : 6
Par défaut somme.si sur une selection variable

Bonjour à tous,
Par Macro, j'aimerais et sur un tableau
  • sur la ligne 3, prendre les différents résultats et les mettre dans la colonne A à partir de A9 jusqu'à fin (dans mon exemple 1 dans A9, 2 dans A10, 3 dans A11 et 4 dans A12...etc.).
  • dans la Cellule C9, C10...etc, pour chaque résultat affiché dans le point précédent, j'aimerais faire une somme.si (le critère est dans la ligne 1 ="V", la somme se fait sur la ligne 2)
  • =SOMME.SI(A1:C1;"=V";A2:C2)
Dansle fichier ci-joint (très colorié) vous trouverz ce que je veux faire.
Merci.
Fichiers attachés
Type de fichier : xls fudionne.xls (30,5 Ko, 5 affichages)
moi244 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 20h38   #2
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Dans C9 tu mets la formule ci-après et tu tires vers le bas
Code :
=SOMMEPROD(($A$1:$N$1="V")*($A$3:$N$3=A9)*($A$2:$N$2))
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 20h45   #3
Expert Confirmé Sénior
 
Avatar de casefayere
 
Homme Dominique LEMAIRE
Salarié Champagne
Inscription : décembre 2006
Messages : 2 636
Détails du profil
Informations personnelles :
Nom : Homme Dominique LEMAIRE
Âge : 57
Localisation : France, Ardennes (Champagne Ardenne)

Informations professionnelles :
Activité : Salarié Champagne
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : décembre 2006
Messages : 2 636
Points : 5 075
Points : 5 075
excuses-moi mercatog mais j'avais préparé un code vba qui vaut ce qu'il vaut

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Sub essai()
Dim dercol, x, y, z, w
y = 10: w = 1
With Sheets("feuil1")
  dercol = .Range("IV1").End(xlToLeft).Column
  .Range("A9") = .Range("A3")
  For x = 2 To dercol - 1
    If .Cells(3, x) <> .Cells(3, x + 1) Then
      .Range("A" & y) = .Cells(3, x + 1): y = y + 1
    End If
  Next x
  For x = 9 To y - 1
    z = Application.WorksheetFunction.CountIf(.Range(.Cells(3, 1), .Cells(3, dercol)), .Range("a" & x))
    .Range("B" & x) = Application.WorksheetFunction.SumIf(.Range(.Cells(1, w), .Cells(1, w + z - 1)), "V", .Range(.Cells(2, w), .Cells(2, w + z - 1)))
    w = w + z
  Next x
End With
End Sub
bonne soirée à tous
__________________
Dom

De Anomaly
Citation:
N'oubliez pas les points suivants !

Les membres qui vous répondent sont des participants bénévoles !
Quand votre problème est résolu, pensez à cliquer sur le bouton [Résolu] en bas de la discussion !
Pensez à remercier les messages qui vous ont aidé en votant positivement pour eux !
casefayere est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h44.


 
 
 
 
Partenaires

Hébergement Web