Soustraire deux colonne

Résolu
medbo Messages postés 570 Statut Membre -  
qmike Messages postés 1599 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je suis une nouveau dans le monde VBA et je suis entrain de faire une petite application Excel, en ce moment je suis confronté à une situation à laquelle je ne trouve pas de solution.

j'ai deux textbox "textbox1 et textbox2" avec des valeurs de type DATE, elles incrémentent les colonne A et B. Ce que je veux c'est incrémenter la colonne C avec le résultat de la soustraction des valeurs saisies dans les deux textbox 1 et 2.

Quel est le code pour réaliser ça.

Merci pour votre aide
A voir également:

7 réponses

herod1983 Messages postés 200 Statut Membre 5
 
Bonjour,

Vu que c'est du format date (donc jj/mm/aaaa) que tu cherches,
Quels résultat dans la colonne C veux tu obtenir ? des Jours ?

Car si tu fais une date moins une autre date Excel ne va rien comprendre, il faut le tourner d'une autre manière
0
medbo Messages postés 570 Statut Membre 29
 
le résultat que je veux c'est le nombre de jours qu'il ya entre les deux dates
0
herod1983 Messages postés 200 Statut Membre 5
 
En fait pour les dates, Excel fonctionnent de cette manière le 01/01/1900 représente le jour n°1.
Pour aujourd'hui nous sommes le 09/06/2009 cela représente le 39973eme jour depuis le premier janvier 1900.

Dans cette forme, il est facile alors de soustraire des dates, (on peut le trouver manuellement en faisant clic droit sur la cellule qui contient une date, Format de Cellule, Nombre, là tu mets en catégorie standard et ta date se transforme en chiffre.

Donc voici le code à mettre dans un bouton ou une macro:


'change le format de la 1er date en chiffre ainsi que la deuxième
Range("A1").NumberFormat = "General" 
Range("B1").NumberFormat = "General" 


Range("C1").Value = Range("A1").Value - Range("B1").Value  'soustraction des dates


Range("A1").NumberFormat = "m/d/yyyy" 'remet les cellules en format date
Range("B1").NumberFormat = "m/d/yyyy"


Voila normalement tu ne devrais pas avoir de problèmes
0
gbinforme Messages postés 15481 Date d'inscription   Statut Contributeur Dernière intervention   4 730
 
bonjour

Tu n'as absolument pas besoin de toucher au format, qui n'est qu'un masque d'affichage, pour faire une soustraction de dates. Par contre pour avoir la colonne C en nombre il faut appliquer le format sinon excel va mettre par défaut le format d'origine.
Range("C1").Value = Range("A1").Value - Range("B1").Value
Range("C1").NumberFormat = "General" 

Si tu veux partir des textbox, le plus simple est d'appliquer la conversion date
Range("C1").Value = Cdate(textbox1.value) - Cdate(textbox2.value)
0
herod1983 Messages postés 200 Statut Membre 5
 
Ah ouai bien vue gbinforme,

Et moi je faisais encore plus compliqué
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
qmike Messages postés 1599 Date d'inscription   Statut Membre Dernière intervention   594
 
voir un exemple
Gérer une différence de dates dans un Userform
http://bvrve.club.fr/Astuces_Michel/44excelvba.html
0
medbo Messages postés 570 Statut Membre 29
 
Merci tout le monde pour votre aide
0
qmike Messages postés 1599 Date d'inscription   Statut Membre Dernière intervention   594
 
Heureux de t'avoir rendu service
Bonne journée
0