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

calcul de jours entre premiere date de saisie et les suivantes.

  • Initiateur de la discussion Initiateur de la discussion babylonzoo
  • 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 !

babylonzoo

XLDnaute Nouveau
Bonjour a tous

j'ai un petit souci pour effectuer un calcul entre 2 dates differentes, je m'explique,

j'ai céé un userform afin de saisir des données 1 a 2 fois par semaine. j'ai dans une cellule le date de saisie qui apparait

Sheets("mesures").Range("B65536").End(xlUp).Offset(1, 0).Value = Me.TextBoxDate.Text

j'aimerai que dans la cellule contigu (C) apparaisse le nombre de jours entre la premiere saisie ( considéré comme DAY 0) et les saisie suivantes.

je pense qu'il faut sans doute declarer les dates en variables mais je debute et apres pas mal d'essai je demande de l'aide.


merci encore

babylonzoo
 
Re : calcul de jours entre premiere date de saisie et les suivantes.

bonjour babylonzoo

Un petit fichier exemple nous serait utile pour t'aider
Accessoirement il nous evitera d'avoir a recreer des conditions de test
 
Re : calcul de jours entre premiere date de saisie et les suivantes.

Bonjour babylonzoo,

Si la première saisie met la date en B2, vous pouvez écrire le code :

Code:
Dim cel As Range
'----------------
Set cel = Sheets("mesures").Range("B65536").End(xlUp).Offset (1, 0)
cel.Value = TextBoxDate.Text
cel.Offset(0, 1).Value = cel.Value - Range("B2").Value

la colonne C étant au format Nombre 0.

Edit : bonjour pierrejean, tu as raison je vais un peu trop vite...

A+
 
Re : calcul de jours entre premiere date de saisie et les suivantes.

bonjour à tous,

ci joint un fichiers permettant de comprendre ma demande

pour l'instant j'ai fait calculer les jours par difference de cellules. cela ne me satisfait pas car j'ai un signe"-" et le valeur 39315 qui apparait des les cellules non calculées ( cette table servira a faide des courbes) donc je pense qu'il serai mieux de faire calculer les jours directement dans le code vba afin qu'il soit inscrit dans le collonne D.
j'ai essayé pas mal de trucs mais je sèche.
merci pour votre aide
Babylonzoo
 

Pièces jointes

Re : calcul de jours entre premiere date de saisie et les suivantes.

Babylonzoo,

Apparemment, c'est en colonne D de la feuille poids que vous voulez les valeurs, et la ligne de base est la 5.

Donc le code :

Code:
Dim cel As Range
'----------------
Set cel = Sheets("poids").Range("B65536").End(xlUp).Offset (1, 0)
cel.Value = TextBoxDate.Text
cel.Offset(0, 2).Value = cel.Value - Range("B5").Value

Pour le reste, pas essayé de comprendre ce que vous faites dans l'USF.

A+
 
Re : calcul de jours entre premiere date de saisie et les suivantes.

Bonjour,

j'ai integré le code que vous m'avez donné mais il ne fonctionne pas, je vais essyer de peut etre trouver une autre solution,
merci encore
Babylonzoo
 
Re : calcul de jours entre premiere date de saisie et les suivantes.

Re,

Il y avait plusieurs choses qui n'allaient pas en effet :

- la cellule B5 était du texte, il faut cliquer dans la formule et valider pour la transformer en date

- mettre toute la colonne B au format date jj-mmm-aa ou jj-mmmm-aaaa

- pour entrer dans la cellule la date de la TextBox, utiliser CDate

- enfin il faut définir la feuille de la cellule B5 (ça c'est de ma faute) :

Code:
Dim cel As Range
Set cel = Sheets("poids").Range("B65536").End(xlUp).Offset(1, 0)
cel.Value = [COLOR="Red"]CDate[/COLOR](TextBoxDate)
cel.Offset(0, 2).Value = cel.Value - [COLOR="Red"]Sheets("poids").[/COLOR]Range("B5").Value

A+
 
Dernière édition:
Re : calcul de jours entre premiere date de saisie et les suivantes.

Salut a tous,
j'ai trouvé un solution a mon probleme en utilisant le format conditionel excel.
le principe :
la premiere date saisie ( en B5 ) est considérée comme Day 0 soit dans la cellule D5 la formule =B5-B$5
Pour les cellules suivantes, incrémenter la formule =SI(B6-B$5<0;0;B6-B$5) , ce qui veut dire que si la valeur de la cellule est inferieure a 0 ( ce qui est le cas si on garde B6-B$5 ) la cellule prend la valeur 0.
Ensuite aller dans outils/options/affichage et décocher "valeurs zéro" ainsi les zeros disparaissent du tableaux et le tour est joué. c'est tres utile si les tableaux servent a faire des courbes !

je laisse le post ouvert si quelqu'un trouve la manip pour coder en vba directement.

a+
Babylonzoo
 
- 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

Discussions similaires

Réponses
1
Affichages
340
Réponses
6
Affichages
645
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…