Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[VBA] : additionner les valeurs si cellules vides

6 réponses
Avatar
DJ9B
Bonjour à tous !
Sur une feuille j'ai des données rangées comme suit :
lundi mardi mercredi jeudi vendredi samedi
16 16 16 13
16 16 16 13
15 15 15 15 12
18 18 18 15
15 15 15 15

les chiffres du samedi sont toujours inférieurs de 3 par rapport aux
chiffres des autres jours de la même ligne.
3 est égal à la valeur de la cellule N1

Ce que je cherche à obtenir avec VBA c'est ça :
lundi mardi mercredi jeudi vendredi samedi
16 16 32 29
16 16 16 45
15 15 30 15 12
38 18 36 15
28 15 30 15

Si une cellule est vide la cellule suivante non vide doit être égale sa
valeur X2
Si une cellule est vide la cellule suivante non vide doit être égale sa
valeur X3
et ainsi de suite
Le lundi demande un traitement particulier car les heures du samedi ne sont
pas les mêmes que le reste de la semaine mais l'écart est constant.

Si voulez voir un exemple de mon fichier c'est ici :
http://cjoint.com/?juw105vKxT

Si vous avez des idées pour résoudre ce problème, j'en serai très heureux !
Merci


--
dj9b@free.fr
www.dj9b.fr.st
et maintenant aussi :
http://dj9b.free.fr

6 réponses

Avatar
michdenis
Bonjour DJ9B,

Je suis incapable de saisir ce que tu veux que la procédure réalise!
J'ai ouvert ton fichier et j'ai lu les divers commentaires. Tu as soigné la présentation de tes données, mais tu as oublié
d'expliquer ce que sont tes attentes à l'égard de la macro?

Si tu prends seulement le tableau 1, est-ce les données de départ? Quels sont les résultats attendus? Où écrit-on le résultat?

Quelles sont les conditions que la procédure doit respecter pour trouver le résultat attendu?

Je ne peux pas parler pour les autres, mais moi, je ne m'y retrouve pas.


Salutations!



"DJ9B" <Inlè a écrit dans le message de news:
Bonjour à tous !
Sur une feuille j'ai des données rangées comme suit :
lundi mardi mercredi jeudi vendredi samedi
16 16 16 13
16 16 16 13
15 15 15 15 12
18 18 18 15
15 15 15 15

les chiffres du samedi sont toujours inférieurs de 3 par rapport aux
chiffres des autres jours de la même ligne.
3 est égal à la valeur de la cellule N1

Ce que je cherche à obtenir avec VBA c'est ça :
lundi mardi mercredi jeudi vendredi samedi
16 16 32 29
16 16 16 45
15 15 30 15 12
38 18 36 15
28 15 30 15

Si une cellule est vide la cellule suivante non vide doit être égale sa
valeur X2
Si une cellule est vide la cellule suivante non vide doit être égale sa
valeur X3
et ainsi de suite
Le lundi demande un traitement particulier car les heures du samedi ne sont
pas les mêmes que le reste de la semaine mais l'écart est constant.

Si voulez voir un exemple de mon fichier c'est ici :
http://cjoint.com/?juw105vKxT

Si vous avez des idées pour résoudre ce problème, j'en serai très heureux !
Merci


--

www.dj9b.fr.st
et maintenant aussi :
http://dj9b.free.fr
Avatar
Eric
Bonjour,

D'accord avec michdenis, si tu nous expliquais plutôt de quoi il s'agit, ça
éclairerait certainement la solution !

Je crois qu'il y a par ailleurs un problème de conception même quand ça a
l'air de fonctionner. Par exemple, dans ton tableau de résultats tu as une
cellule contenant 28 et une annotation disant que c'est le résultat attendu.
Seulement, 28 est arrondi et la valeur réelle est 28,75. Pour ce que j'en ai
compris, ton tableau ne devrait pas contenir de résultat fractionnaire (?) (à
condition que les heures entrées à gauche soient des heures "piles").

Je te propose une seconde solution : utilises le mode débogage et crée des
espions. En exécutant ton code en "pas à pas détaillé" et examinant la valeur
des espions, tu devrais comprendre ce qui plante !

Eric


Bonjour à tous !
Sur une feuille j'ai des données rangées comme suit :
lundi mardi mercredi jeudi vendredi samedi
16 16 16 13
16 16 16 13
15 15 15 15 12
18 18 18 15
15 15 15 15

les chiffres du samedi sont toujours inférieurs de 3 par rapport aux
chiffres des autres jours de la même ligne.
3 est égal à la valeur de la cellule N1

Ce que je cherche à obtenir avec VBA c'est ça :
lundi mardi mercredi jeudi vendredi samedi
16 16 32 29
16 16 16 45
15 15 30 15 12
38 18 36 15
28 15 30 15

Si une cellule est vide la cellule suivante non vide doit être égale sa
valeur X2
Si une cellule est vide la cellule suivante non vide doit être égale sa
valeur X3
et ainsi de suite
Le lundi demande un traitement particulier car les heures du samedi ne sont
pas les mêmes que le reste de la semaine mais l'écart est constant.

Si voulez voir un exemple de mon fichier c'est ici :
http://cjoint.com/?juw105vKxT

Si vous avez des idées pour résoudre ce problème, j'en serai très heureux !
Merci


--

www.dj9b.fr.st
et maintenant aussi :
http://dj9b.free.fr





Avatar
Eric
D'accord avec toi !

Par hasard, tu ne serais pas un ex fan rouennais des soirées D&D, wargames
napoléoniens jusqu'à pas d'heure et accessoirement grand amateur de Francis
Blanche ?

Cordialement,

Eric "Koutouzov" Poirier


Bonjour DJ9B,

Je suis incapable de saisir ce que tu veux que la procédure réalise!
J'ai ouvert ton fichier et j'ai lu les divers commentaires. Tu as soigné la présentation de tes données, mais tu as oublié
d'expliquer ce que sont tes attentes à l'égard de la macro?

Si tu prends seulement le tableau 1, est-ce les données de départ? Quels sont les résultats attendus? Où écrit-on le résultat?

Quelles sont les conditions que la procédure doit respecter pour trouver le résultat attendu?

Je ne peux pas parler pour les autres, mais moi, je ne m'y retrouve pas.


Salutations!



"DJ9B" <Inlè a écrit dans le message de news:
Bonjour à tous !
Sur une feuille j'ai des données rangées comme suit :
lundi mardi mercredi jeudi vendredi samedi
16 16 16 13
16 16 16 13
15 15 15 15 12
18 18 18 15
15 15 15 15

les chiffres du samedi sont toujours inférieurs de 3 par rapport aux
chiffres des autres jours de la même ligne.
3 est égal à la valeur de la cellule N1

Ce que je cherche à obtenir avec VBA c'est ça :
lundi mardi mercredi jeudi vendredi samedi
16 16 32 29
16 16 16 45
15 15 30 15 12
38 18 36 15
28 15 30 15

Si une cellule est vide la cellule suivante non vide doit être égale sa
valeur X2
Si une cellule est vide la cellule suivante non vide doit être égale sa
valeur X3
et ainsi de suite
Le lundi demande un traitement particulier car les heures du samedi ne sont
pas les mêmes que le reste de la semaine mais l'écart est constant.

Si voulez voir un exemple de mon fichier c'est ici :
http://cjoint.com/?juw105vKxT

Si vous avez des idées pour résoudre ce problème, j'en serai très heureux !
Merci


--

www.dj9b.fr.st
et maintenant aussi :
http://dj9b.free.fr






Avatar
DJ9B
Bonjour Denis et Eric !

Vous avez raison c'est encore moins clair si on regarde le fichier, c'est
une erreur de ma part de l'avoir mis, d'autant qu'il a évolué.

Si tu prends seulement le tableau 1, est-ce les données de départ?


oui, mais je préfère que l'on prenne comme données le tableau suivant :

lundi mardi mercredi jeudi vendredi samedi
16 16 16 13
16 16 16 13
15 15 15 15 12
18 18 18 15
15 15 15 15

Petite observation : les chiffres du samedi sont toujours inférieurs de 3
par rapport aux chiffres des autres jours de la même ligne.
3 est égal à la valeur de la cellule "N1"

Quels sont les résultats attendus?


Ce que je cherche à obtenir avec VBA c'est ça :
lundi mardi mercredi jeudi vendredi samedi
16 16 32 29 <- sur cette ligne
jeudi 32 = 16 du mercredi reporté et additionné au 16 du jeudi
16 16 16 45 <- sur cette ligne
samedi 45 = 16 du jeudi et 16 du vendredi reportés et additionnés au 13 du
samedi
15 15 30 15 12
36 18 36 15
28 15 30 15 <- sur cette ligne
lundi 28 = 12 du samedi reporté et additionné au 15 du jeudi

Quelles sont les conditions que la procédure doit respecter pour trouver
le résultat attendu?


Ce que je veux que la macro fasse c'est :
- Si une cellule est vide, la cellule suivante ( à droite ) non vide doit
être égale sa valeur multipliée par 2
- Si une cellule est vide à côté d'une autre cellule vide alors la cellule
suivante non vide doit être égale sa valeur multipliée par 3 et ainsi de
suite
- Si une cellule est vide sur la journée de samedi, les heures du samedi
sont reportés sur le lundi .


Où écrit-on le résultat?


dans le même tableau ou dans un tableau à côté peu importe




--

www.dj9b.fr.st
et maintenant aussi :
http://dj9b.free.fr
"michdenis" a écrit dans le message de
news:%23t7is%
Bonjour DJ9B,

Je suis incapable de saisir ce que tu veux que la procédure réalise!
J'ai ouvert ton fichier et j'ai lu les divers commentaires. Tu as soigné
la présentation de tes données, mais tu as oublié

d'expliquer ce que sont tes attentes à l'égard de la macro?

Si tu prends seulement le tableau 1, est-ce les données de départ? Quels
sont les résultats attendus? Où écrit-on le résultat?


Quelles sont les conditions que la procédure doit respecter pour trouver
le résultat attendu?


Je ne peux pas parler pour les autres, mais moi, je ne m'y retrouve pas.


Salutations!



"DJ9B" <Inlè a écrit dans le message de news:


Bonjour à tous !
Sur une feuille j'ai des données rangées comme suit :
lundi mardi mercredi jeudi vendredi samedi
16 16 16 13
16 16 16 13
15 15 15 15 12
18 18 18 15
15 15 15 15

les chiffres du samedi sont toujours inférieurs de 3 par rapport aux
chiffres des autres jours de la même ligne.
3 est égal à la valeur de la cellule N1

Ce que je cherche à obtenir avec VBA c'est ça :
lundi mardi mercredi jeudi vendredi samedi
16 16 32 29
16 16 16 45
15 15 30 15 12
38 18 36 15
28 15 30 15

Si une cellule est vide la cellule suivante non vide doit être égale sa
valeur X2
Si une cellule est vide à côté d'une autre cellule vide alors la cellule
suivante non vide doit être égale sa

valeur X3
et ainsi de suite
Le lundi demande un traitement particulier car les heures du samedi ne
sont

pas les mêmes que le reste de la semaine mais l'écart est constant.

Si voulez voir un exemple de mon fichier c'est ici :
http://cjoint.com/?juw105vKxT

Si vous avez des idées pour résoudre ce problème, j'en serai très heureux
!

Merci


--

www.dj9b.fr.st
et maintenant aussi :
http://dj9b.free.fr





Avatar
Modeste
Bonsour® l'oranger
;o)))
et voici ma solution !!!

http://cjoint.com/?jwnAZVMECm

--
n'oubliez pas les FAQ :
http://www.excelabo.net http://dj.joss.free.fr/faq.htm
http://www.faqoe.com http://faqword.free.fr
--
Feed Back
http://viadresse.com/?94912042
Avatar
DJ9B
Merci Beaucoup Modeste t'es super !
Merci aussi à Denis et Eric !


--

www.dj9b.fr.st
et maintenant aussi :
http://dj9b.free.fr
"Modeste" a écrit dans le message de
news:%
Bonsour® l'oranger
;o)))
et voici ma solution !!!

http://cjoint.com/?jwnAZVMECm

--
n'oubliez pas les FAQ :
http://www.excelabo.net http://dj.joss.free.fr/faq.htm
http://www.faqoe.com http://faqword.free.fr
--
Feed Back
http://viadresse.com/?94912042