Probleme Algorithme simple en VBA

Messages postés
23
Date d'inscription
vendredi 20 février 2004
Statut
Membre
Dernière intervention
1 octobre 2007
- - Dernière réponse : JM247L
Messages postés
444
Date d'inscription
mardi 27 mars 2007
Statut
Membre
Dernière intervention
1 mars 2011
- 1 oct. 2007 à 18:38
RATP

Je dois faire un petit programme sous VBA pour Excel pour le boulot et je galere depuis trois jours.

Ca parrait super simple mais il y a un truc qui bloque. J'explique ce que je veux faire:

J'ai une colonne

J'ai une colonne A Excel dans laquelle j'ai une longue serie de nombres
exemple

Colonne A

2

2

2

5

5

6

6

6

7

7

7

7

8

7

7

5

5

5

et je veux que dans la colonne B s'affiche le nombre de chiffres identiques
a la suite de la colonne A

En image cela donne:

Colonne A    Colonne B

2                       

2

2                        3

5

5                        2

6

6

6                        3

7

7

7

7                        4

8                        1

7

7                        2

5

5

5                        3
Afficher la suite 

4 réponses

Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
26
0
Merci
Amical Bonjour à toi aussi,




    >>Ca parait super simple
       quand on sait faire !

    >>et je veux
       quand on veut.. on peut

    >>mais il y a un truc qui bloque
       et c'est quoi, ce truc qui bloque ?   parce que je sais lire
       les lignes de la main ( c'est ici ), mais il faut les décrire.
       avec un code, c'est pareil, parce que tu n'as pas de bol,
       j'ai cassé ma hier,  je ne vois plus aucune erreur sans source.

    >>sous VBA pour Excel
       ah ? mais ici, tu es dans un bar, où on essentiellement
       pas dans le forum adapté à VBA où tu aurais plus de réponses peut-être...




<hr />                Merci beaucoup pour ta question            Bul         [mon Site]     [M'écrire]
<hr />                on ne dit pas "pas de bol", mais "pénurie de récipients"
Commenter la réponse de cs_bultez
Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
37
0
Merci
C'est déplacé...









<hr />
-My Blog-
Commenter la réponse de cs_Bidou
Messages postés
797
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
23 février 2011
4
0
Merci
Pas besoin de VBA pour faire ceci (je sais, c'est mon dada les formules EXCEL ^^). Tu as juste besoin de deux colonnes pour le faire (enfin, 3 avec la liste des chiffres). Allez, je détaille :

Colonne A, tes chiffres :
A1: Liste
A2: 2
A3: 2
A4: 2
A5: 5
A6: 3
A6: 3

Colonne B, des additions pour faire la somme de tes nombres qui se suivent (colonne qui sera à masquer le cas échéant) :
B1: Additions
B2: =SI(SI(A2=A1;1;"Début")="Début";1;SI(A2=A1;1;"Début")+B1)
Je mets "Début" dans la formule, juste par convention, ça pourrait être n'importe quoi. ca représente en fait si la ligne est la première ligne d'une suite.

Colonne C, qui présente l'affichage
C2: =SI(B3=1;B2;"")
Plus qu'à copier la formule sur toutes les lignes et hop là, tu obtiens ton résultat (on doit pouvoir encore regrouper la colonne B et la colonne C, mais j'ai pas le courage de le faire (j'ai essayé, j'ai un #VALEUR quelque part, et la formule devenant assez lourde à relire, et ayant autre chose à faire que chercher ça, je laisse tomber et garde 2 formules )

Je te laisse le plaisir de détailler ce que font les deux formules, c'est comme ça qu'on apprend ^^

Sinon, pour le faire en VBA, bah ... faut faire une boucle sur la plage, défiler les cellules avec Cells(i,1).value et comparer avec Cells(i-1,1).value et sommer dans une variable pour alimenter Cells(i-1,2).value avec le résultat de la seomme si le chiffre est différent.

Molenn
Commenter la réponse de Molenn
Messages postés
444
Date d'inscription
mardi 27 mars 2007
Statut
Membre
Dernière intervention
1 mars 2011
1
0
Merci
Bonsoir,
Sinon en fonction excel simple il y a "Sous Totaux" option "Nombre"
qui fera très exactement ce que tu représentes dans la partie image de ton post

Mais on peut aussi faire du code mais ça tu trouveras plétore d'exemples sur ce site ou on a une habitude d'une désuétude Hérodienne mais qui à malgrès tout un certain charme, c'est de dire bonjour ... Au Revoir et Merci à la dame  

 Cliquer "Réponse Acceptée"
JML - Partageons Notre Savoir & Nos Acquis
Commenter la réponse de JM247L