[VBA] contrainte entre 2 cellules [Résolu/Fermé]

Signaler
Messages postés
33
Date d'inscription
mercredi 17 janvier 2007
Statut
Membre
Dernière intervention
10 octobre 2008
-
Messages postés
33
Date d'inscription
mercredi 17 janvier 2007
Statut
Membre
Dernière intervention
10 octobre 2008
-
Bonjour,

J'ai dans ma colonne C la possibilité de choisir un congé, en colonne D le nombre d'heures effectuées dans la journée, et en colonne E le nombre d'heures à rattraper, défini par une formule, ex : horaireJ - D2, où horaireJ est égal à 7:30. Cependant, si un congé a été pris en colonne C2, j'aimerais que E2 soit égal à 0 (pas d'heure à rattraper puisque congé).
J'ai essayé ceci :

If Range("C2") = "CA" Then Range("E2").ClearContents

Le problème, c'est que si l'utilisateur se rétracte et ne prend pas de congé, la formule horaireJ - D2 en cellule E2 a disparu.

Une idée?

Nood

9 réponses

bonjour, met un message box de confirmation.
Messages postés
33
Date d'inscription
mercredi 17 janvier 2007
Statut
Membre
Dernière intervention
10 octobre 2008
2
?

Ça ne va pas faire réapparaitre ma formule.
ben tu fait une condition si et tu remet la formule..
Messages postés
33
Date d'inscription
mercredi 17 janvier 2007
Statut
Membre
Dernière intervention
10 octobre 2008
2
J'ai essayé :

If Range("C2") = "CA" Then Range("E2").ClearContents
If IsEmpty(Range("C2")) Then Range("E2").Formula = horaireJ - D2

... mais toujours 0 en E2 avec celà. Autre chose, je ne comprends pas pourquoi le Else if ne marche jamais en VBA ?
Pour la condition fodrai que je la test sur excel me la ou je suis , je peut pas pour l'instant. En ce qui conserne le else if regarde dans l'aide si cette commande existe et si elle existe pas l'aide devrais te donner une autre commande
Messages postés
33
Date d'inscription
mercredi 17 janvier 2007
Statut
Membre
Dernière intervention
10 octobre 2008
2
En fait le Else if marche j'avais fait un saut de ligne inutile :

If Range("C2") = "CA" Then Range("E2").ClearContents Else If IsEmpty(Range("C2")) Then Range("E2").Value = (horaireJ - D2)

Mais je n'obtiens toujours pas ce que je veux. Merci de t'être penché sur le problème ea ; ) .
Messages postés
1978
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
28 septembre 2020
833
Bonjour à tous,

pourquoi ne pas mettre la formule directement dans la feuille de calcul :

E2=SI(C2 = "CA";0;horairej-D2)

A+
Messages postés
33
Date d'inscription
mercredi 17 janvier 2007
Statut
Membre
Dernière intervention
10 octobre 2008
2
Salut JvDO,

Cette formule fonctionne en effet très bien : D .Mais si à la place de CA je veux dire que si la cellule A2 n'est pas vide (car j'ai des CA, RTT, ...) je peux procéder de cette manière également?
Messages postés
33
Date d'inscription
mercredi 17 janvier 2007
Statut
Membre
Dernière intervention
10 octobre 2008
2
=SI(C2<>"";0;horaireJ - D2)

; )