VBA problème 30/31 jours par mois + en fonction de la prochaine cellule

Bonjour,

Je travail sur l'élaboration d'un tableau excel à partir de VBA.

Je vous joins celui-ci pour que vous compreniez plus simplement l'idée.

Je rencontre deux problèmes.

1er : La fin du code sert à ajouter des dates de valeurs. Cependant elles sont ajoutées en fonction des dates de règlement. Par exemple un règlement au 02 donnera une date de valeur au 05. Cependant, en fin de mois, un règlement au 30 devrait donné une date de valeur au 02 ou 03 ( en fonction du mois à 30 ou 31 jours) mais j'ai à la place une date au 33.. Comment pourrais-je arranger cela?

2eme : Je veux remplir la colonne date d'échéance. Celle-ci doit être = à la date de valeur du règlement suivant -1. Le problème est qu'il y a parfois des écarts. Lors de deux règlements d'affiler cela ne va pas poser problème. Cependant si il y a un écart je ne sais pas comment faire. A l'aide du fichier on peut prendre cette exemple pour être plus clair : Dans la grand colonne A : il y a un règlement au 2 avec une date de valeur au 5. Il y a un règlement au 4 avec une date de valeur au 9. La date d’échéance pour le règlement du 2 doit donc être de 9-1 = 8.

En espérant que mes explications soient les plus explicites possible.

Merci pour votre lecture

Bonsoir,

je ne comprend pas tout... Désolé.

Par contre pour le point 1) ce dont je comprend c'est que vous prenez comme date de valeur le résultat de la "date de paiement" + 3.
J'ai mis date de paiement entre guillemet car ce n'est pas la date de paiement que vous prenez mais sa correspondance dans la colonne paiement ! Ce qui n'a rien avoir ! le 30 janvier est différent de 30 ! 30 janvier + 3 jour = 2 février, 30+3 = 33 !

Donc pour le point 1 ne prenez pas la valeur de la colonne Paiement mais la date de la colonne Date et si vous voulez afficher que le jour correspondant une simple mise en format de la colonne valeur suffit pour afficher uniquement le jour de cette date : personnalisé : jj (sur deux chiffre) ou j (sur un seul digit).

Et du coup pour le point 2 vous faites de même : Date valeur -1 jour = date d'échéance, format jj.

@ bientôt

LouReeD

Bonjour,

Je comprend et merci pour votre réponse, je pense pouvoir arranger mon premier problème.

Pour le second, idéalement, je voudrais savoir s'il est possible de donner une valeur à une cellule qui est égale au résultat de la prochaine cellule non vide sur sa colonne de droite et une fois en bas.

En gros, Écrire en A1 le résultat de la prochaine cellule B non vide . Pour exemple si la prochaine cellule non vide en B est B4, A1 = B4 -1

Attention, sur la ligne de A1, la colonne B1 contient quelque chose mais il ne faut pas le prendre en compte.

Un petit classeur d'exemple :

Bonjour,

cette formule fait le travail : =SIERREUR(RECHERCHE(9^9;INDIRECT("C"&LIGNE()+1&":C100000"));"")-1
on recherche la plus grande valeur dans la colonne C à partir de la ligne d'en dessous où se trouve la formule jusqu'à la ligne 100000 de la colonne C.

Mais il faudrait "revoir" le fichier dans sa globalité peut-être, non ?

@ bientôt

LouReeD

Rechercher des sujets similaires à "vba probleme jours mois fonction prochaine"