Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Boucle For Each et somme à partir de la collection

  • Initiateur de la discussion Initiateur de la discussion Scap&Co
  • 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 !

S

Scap&Co

Guest
Bonjour à tous,

J'ai un problème de développement d'un code VB pour la fonction For Each

J'ai dans une colonne des élements du type :

S2005 - 1 correspondant au numéro de semaine de 2005
Pour chaque semaine est reporter sur la colonne 2 un nombre

S2005 - 1 1 (exemple)
S2005 - 1 1
S2005 - 1 1
S2005 - 1 1
S2005 - 1 1
S2005 - 2 1
S2005 - 2 1

Je souhaiterai faire la somme des élements de la colonne 2 en fonction de la colection de la colonne 1
Soit

S2005 - 1 Somme : 5
S2005 - 2 Somme : 2


Je me casse les dents sur cette difficulté depuis 3 semaines et je n'ai pas trouver d'équivalent sur le forum

Merci de votre aide

Scap&Co
 
Bonsoir,

si tes valeurs 1,1,1,1,1,2,2 sont dans la plage B3:B9 tu tapes dans une cellule la formule suivante
=NB.SI(B3:B9;1)
pour avoir le nombre de 1
et =NB.SI(B3:B9;2)
pour le nombre de 2

Léa
 
J'ai dû être maladroit dans ma demande. ou je n'ai pas bien décoder la macro de Pascal.

Pour ce qui est des valeur dans la colonne A

n° Semaine de 2005 sous le format
Ligne 1 S2005-1
Ligne 2 S2005-1
Ligne 3 S2005-1
Ligne 4 S2005-1
Ligne 5 S2005-2
Ligne 6 S2005-2

Dans le colonne B ce sont des nombres issus de calul, on peut dire qu'ils sont aléatoires
Ligne 1 1
Ligne 2 5
Ligne 3 51
Ligne 4 2
Ligne 5 52
Ligne 6 202

Somme pour S2005-1 = 59
Somme pour S2005-2 = 254

Le problème n'est pas simple...
Il y a biensûr des colonnes suplémentaires avec des chiffres dont il faut faire la somme comme pour colonne B

Merci pour votre aide

Scap&Co
 
Bon à peu près la même chose avec tes données.

Excuse j'avais compris que s2005 était en colonne A et le n°semaine 1 ou 2 en colonne B.
Maintenant je pense que c'est dans l'ordre.

Pour l'instant cela t'affiche le résultat en colonne C à toi de modifier à ta convenance.

Pascal
 

Pièces jointes

bonjour,

J'ai pas réussit à résoudre ma difficulté :

Dans la feuille 1

n° Semaine de 2005 sous le format
Ligne 1 S2005-1
Ligne 2 S2005-1
Ligne 3 S2005-1
Ligne 4 S2005-1
Ligne 5 S2005-2
Ligne 6 S2005-2

Dans le colonne B ce sont des nombres issus de calul, on peut dire qu'ils sont aléatoires
Ligne 1 1
Ligne 2 5
Ligne 3 51
Ligne 4 2
Ligne 5 52
Ligne 6 202

Somme pour S2005-1 = 59
Somme pour S2005-2 = 254

Dans la feuille 2 je doit faire correspondre à caque n° de semaine la somme correspondante à colonne B de la feuille 1

Dans feuille 2, j'ai
colonne A
S2005-1
S2005-2
les n° de semaines de feuilles dépendent des n° de semaine de feuille 1

Colonne 2
Je dois reporter les sommes pour chaque semaine.

J'aissaie de faire des conparaison de cellule avec for Each...
mais je n'obtiens pas les résultats escompter.

Merci d'apporter votre aide.

Scap&Co
 
Je me remet dans la liste des...
J'ai récuperé plusieurs fichiers dans le forum, pour faire des tests de code.

Qq'un a-il déjà exécuté ce type de code ?

Merci pour votre aide.
 
Bonjour

En reprenant la macro de pascal (qu'il en soit remercié) :

Sub toto()
Dim i As Integer
Dim x As Integer
Dim mavar As Single

i = 2
For x = 2 To Range("A65536").End(xlUp).Row
If Range("A" & x) = Range("A" & x + 1) Then
mavar = mavar + Range("B" & x)
Else
mavar = mavar + Range("B" & x)
Sheets("feuil2").Range("a" & i) = Range("A" & x)
Sheets("feuil2").Range("b" & i) = mavar
i = i + 1
mavar = 0
End If
Next

End Sub

Ce code te renvoi vers la feuille 2 le numéro de semaine et le cumul associé.

Salut
Hervé
 
- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…