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

XL 2021 VBA Ajout d'une valeur en heure dans une cellule

didus

XLDnaute Occasionnel
Bonjour à tous, un peu d'aide serait bienvenue
le contexte
A partir du calcul d'une durée qui donne un résultat en heures minutes et de la saisie dans un endroit aléatoire,
je teste une valeur T ou B pour incrémenter la durée concernée dans une cellule située en haut de la colonne de saisie
tout ceci est ok
c'est au niveau de la somme des valeurs pour ajouter la nouvelle valeur à la valeur de la cellule de cumul que le blocage survient
beaucoup d'essais mais apparemment ça bloque sur les types de données ajoutées

je place en pj le code ainsi que les variables locales, la cellule destinatrice du calcul est en heures minutes et secondes (format heures)
la valeur à ajouter est soit HT soit HU

merci d'avance
 

Pièces jointes

  • Emploi du temps M1.xlsm
    77.8 KB · Affichages: 4

didus

XLDnaute Occasionnel
bon le code initial qui calculait l'intervalle était inversé (date début - date fin) j'ai donc saisi fin - début et le calcul s’opère correctement

un grand merci pour votre aide et vos remarques judicieuses

 

TooFatBoy

XLDnaute Barbatruc
sans faire de somme:
Cells(9, ActiveCell.Column) = HU
ne fonctionne pas avec = HT
pourtant le format de cellule ne change pas?
Question étrange ! Tu es le seul à savoir si tu as changé, ou pas, le format. Nous on ne peut pas le savoir.


As-tu bien compris le principe du "format de cellule" ?
Ce n'est qu'un format d'affichage.

HT est du texte donc ça affiche le texte, même si la cellule est au format horaire ou durée ou pourcentage ou autre.

HU est un nombre, donc au format standard ça affiche ce nombre, au format date, horaire ou durée ça affiche la date, l'horaire ou la durée correspondante.
Pour les dates et horaires, il faut savoir que la partie entière du nombre représente la date (nombre de jours depuis le 1/1/1900) et la partie décimale représente l'horaire (avec 1/24 = 1 heure).
 

TooFatBoy

XLDnaute Barbatruc
Cells(9, ActiveCell.Column).Value = Cells(9, ActiveCell.Column) + HT
j'avais un .value avant le + HT qui me donnait une erreur apparemment
Il n'y avait aucun .Value dans le code donné dans ma réponse de #4.
Mais c'est vrai qu'on peut les ajouter, même s'ils sont ici implicites.
VB:
Cells(9, ActiveCell.Column).Value = Cells(9, ActiveCell.Column).Value + HT
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…