Sommer et incrémenter cellules dont des vides
louloutte63
-
latoopa Messages postés 278 Date d'inscription Statut Membre Dernière intervention -
latoopa Messages postés 278 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Voilà je suis bloqué depuis pas mal de temps sur ce problème (en ce moment j'apprend à programmer sous VB par l'intermédiaire de mon projet) et j'espérais que quelqu'un puisse me venir en aide!
En fait j'ai une colonne de 10 cellules qui contiennet des entiers positifs ou des 0.
Mon objectifs est de sommer ces 10 cellules et de mettre le résultats dans une autre cellule de ma pages. Ceci n'est pas le plus dur, mais j'aimerais en parallèle en même temps que l'opération de somme s'effectue une incrémentation me retournant à la fin le nombre de cellules qui ont participée à la somme!! (donc en gros si je me suis mal exprimé: si sur les 10 cellules il y en a 2 qui ont un 0, l'incrément n de réponse doit être 8...).
Comme je ne suis pas un exper en VB j'ai cherché partout et suis parti dans toutes les directions, et maintenant je ne sais plus trop sur quoi m'appuyer pour ce programme!
Merci beaucoup pour votre aide!! :)
Voilà je suis bloqué depuis pas mal de temps sur ce problème (en ce moment j'apprend à programmer sous VB par l'intermédiaire de mon projet) et j'espérais que quelqu'un puisse me venir en aide!
En fait j'ai une colonne de 10 cellules qui contiennet des entiers positifs ou des 0.
Mon objectifs est de sommer ces 10 cellules et de mettre le résultats dans une autre cellule de ma pages. Ceci n'est pas le plus dur, mais j'aimerais en parallèle en même temps que l'opération de somme s'effectue une incrémentation me retournant à la fin le nombre de cellules qui ont participée à la somme!! (donc en gros si je me suis mal exprimé: si sur les 10 cellules il y en a 2 qui ont un 0, l'incrément n de réponse doit être 8...).
Comme je ne suis pas un exper en VB j'ai cherché partout et suis parti dans toutes les directions, et maintenant je ne sais plus trop sur quoi m'appuyer pour ce programme!
Merci beaucoup pour votre aide!! :)
A voir également:
- Sommer et incrémenter cellules dont des vides
- Somme de plusieurs cellules excel - Guide
- Verrouiller des cellules excel - Guide
- Comment supprimer les pages vides sur word - Guide
- Fusionner deux cellules excel - Guide
- Pourquoi je ne peux pas fusionner des cellules dans excel ✓ - Forum Excel
4 réponses
Salut,
je ne suis pas un expert de VB (à vrai dire je n'y connais rien) mais je peux déjà t'aider sur la trame du programme :
Si tu ne comprends pas quelque chose n'hésites pas. Ciao
Toopa
je ne suis pas un expert de VB (à vrai dire je n'y connais rien) mais je peux déjà t'aider sur la trame du programme :
for( indice1 = 0 ; indice < 10 ; indice = indice + 1 ) {
somme = somme + "la case numéro 'indice' de ta liste"; // là tu additionnes la case courante a la somme
if ( "la case numéro 'indice' de ta liste" == 0 ){ // si la case n'est pas vide
nombreDeCasesNonVides = nombreDeCasesNonVides +1 ; // on ajoute 1 ici
}
}
ecritureDe("somme : "+somme);
ecritureDe("nombreDeCasesNonVides : "+nombreDeCasesNonVides );
Si tu ne comprends pas quelque chose n'hésites pas. Ciao
Toopa
ok merci beaucoup Toopa!! :)
je vais essayer cela demain matin en l'adaptant en language VB et si j'ai un problème je reviens!
Merci encore pour ta réponse!! :)
je vais essayer cela demain matin en l'adaptant en language VB et si j'ai un problème je reviens!
Merci encore pour ta réponse!! :)
Re salut Toopa!
mais quand tu parles de "somme" dans ton programme, c'est également une autre macro que tu dois créer dans laquelle tu expliques l'opération de somme?! (je ne comprends pas/sais pas comment identifier/programmer cette fonction somme)!
mais quand tu parles de "somme" dans ton programme, c'est également une autre macro que tu dois créer dans laquelle tu expliques l'opération de somme?! (je ne comprends pas/sais pas comment identifier/programmer cette fonction somme)!
Bonjour louloute63
"somme" est un entier dans lequel tu stoques la valeur de ta somme
si tu veux en français ton programme c'est
si la valeur de la case est différente de 0
tu l'ajoutes a la somme,
tu incrémentes ton entier "nnrcasesnonvides"
tu passes a la case suivante,
sinon
tu passes a la case suivante
en language ca doit doner un truc dans le genre
Dim Somme as integer
dim nbrcasesnonvides as integer
dim caseactuelle
If caseactuelle.value (ca je sais pas comment on fait appel a excel) != 0
then
Somme = somme + caseactuelle.value
nbrcasesnonvides++ (ou nbrcasesnonvides = nbrcasesnonvides+1)
caseactuelle=casesuivante (je sais pas comment tu fais)
endif
Else
caseactuelle=casesuivante
endElse
et tu fais une petite boucle for si tu connais le nombre de cases sinon tu fais un while avec nentier qui est a la valeur 0 tant que t'as pas atteint ta dernière case
voila ma petite louloute du 63
biz biz
barbouze85
toujours au service de ces dames
"somme" est un entier dans lequel tu stoques la valeur de ta somme
si tu veux en français ton programme c'est
si la valeur de la case est différente de 0
tu l'ajoutes a la somme,
tu incrémentes ton entier "nnrcasesnonvides"
tu passes a la case suivante,
sinon
tu passes a la case suivante
en language ca doit doner un truc dans le genre
Dim Somme as integer
dim nbrcasesnonvides as integer
dim caseactuelle
If caseactuelle.value (ca je sais pas comment on fait appel a excel) != 0
then
Somme = somme + caseactuelle.value
nbrcasesnonvides++ (ou nbrcasesnonvides = nbrcasesnonvides+1)
caseactuelle=casesuivante (je sais pas comment tu fais)
endif
Else
caseactuelle=casesuivante
endElse
et tu fais une petite boucle for si tu connais le nombre de cases sinon tu fais un while avec nentier qui est a la valeur 0 tant que t'as pas atteint ta dernière case
voila ma petite louloute du 63
biz biz
barbouze85
toujours au service de ces dames
Re-salut,
je pense que le tombeur "barbouze85" a assez bien expliqué..
ce que j'ai appelé "somme" est une variable (de type entier par exemple) que tu initialises à 0 au départ.
Ensuite, à chaque tour de boucle tu vas reprendre la valeur de "somme" précédente et lui ajouter la valeur contenue dans la case courante du tableau. Ce qui donne :
somme = somme + caseCouranteDuTableau
Somme n'est donc pas une fonction mais seulement une valeur qui va évoluer : une variable !
Voilà :) En espérant t'avoir un peu éclaircie.
Toopa
je pense que le tombeur "barbouze85" a assez bien expliqué..
ce que j'ai appelé "somme" est une variable (de type entier par exemple) que tu initialises à 0 au départ.
Ensuite, à chaque tour de boucle tu vas reprendre la valeur de "somme" précédente et lui ajouter la valeur contenue dans la case courante du tableau. Ce qui donne :
somme = somme + caseCouranteDuTableau
Somme n'est donc pas une fonction mais seulement une valeur qui va évoluer : une variable !
Voilà :) En espérant t'avoir un peu éclaircie.
Toopa