Insérer des valeurs automatique en VBA

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

Pol1958

XLDnaute Nouveau
Bonjour,

Voici mon problème :
Je calcule des horaires ; les prestations (trois par jours) sont encodées dans les cellules A1 et B1 ; C1 et D1 ; E1 et F1.
Je souhaiterais que si l'on encode une nuit par exemple 22:00 à 24:00 (le 24:00 serait encodé soit dans la cellule B1, D1 ou F1 excel insère automatique dans les cellules A2 et B2 l'horaire du levé (00:00 - 09:00
Pour ce faire j'ai placé la formule suivante dans le code macro de la feuil1

Range("a2").FormulaR1C1 = _
"=IF(OR(R[-1]C[1]>0.96,R[-1]C[3]>0.96,R[-1]C[5]<0.96),TIMEVALUE(""00:00"");"""")"
Range("b2").FormulaR1C1 = _
"=IF(OR(R[-1]C[1]>0.96,R[-1]C[3]>0.96,R[-1]C[5]<0.96),TIMEVALUE(""09:00"");"""")"


Mais rien ne se passe ... alors que si je rentre cette formule dans les cellules A2 et B2 ça fonctionne impec ! pourriez-vous me dire ce que je "rate" !😕

A oui, j'oubliais ... j'aimerais que le calcul s'effectue automatiquement 😱
Merci
Pol
 
Dernière édition:
Re : Insérer des valeurs automatique en VBA

re

essaies

Range("a2").FormulaR1C1 = _
"=IF(OR(R[-1]C[1]>0.96,R[-1]C[3]>0.96,R[-1]C[5]<0.96),TIMEVALUE(""00:00""),"""")"
Range("b2").FormulaR1C1 = _
"=IF(OR(R[-1]C[1]>0.96,R[-1]C[3]>0.96,R[-1]C[5]<0.96),TIMEVALUE(""09:00""),"""")"
 
Re : Insérer des valeurs automatique en VBA

Oups ...
Merci beaucoup pour ton aide rapide ... ça fonctionne J'ai même compléter la formule pour éviter l'erreur #VALUE dans le résultat :

If Range("b1").Value > 0.96 Or Range("d1").Value > 0.96 Or Range("f1").Value > 0.96 Then
Range("a2").FormulaR1C1 = _
"=IF(OR(R[-1]C[1]>0.96,R[-1]C[3]>0.96,R[-1]C[5]>0.96),TIMEVALUE(""00:00""),"""")"
Range("b2").FormulaR1C1 = _
"=IF(OR(R[-1]C[1]>0.96,R[-1]C[3]>0.96,R[-1]C[5]>0.96),TIMEVALUE(""09:00""),"""")"
Else
Range("a2").Value = ""
Range("b2").Value = ""
end if


Encore merci
Pol
 
Re : Insérer des valeurs automatique en VBA


If Range("b1").Value > 0.96 Or Range("d1").Value > 0.96 Or Range("f1").Value > 0.96 Then
Range("a2").FormulaR1C1 = _
"=IF(OR(R[-1]C[1]>0.96,R[-1]C[3]>0.96,R[-1]C[5]>0.96),TIMEVALUE(""00:00""),"""")"
Range("b2").FormulaR1C1 = _
"=IF(OR(R[-1]C[1]>0.96,R[-1]C[3]>0.96,R[-1]C[5]>0.96),TIMEVALUE(""09:00""),"""")"
Else
Range("a2").Value = ""
Range("b2").Value = ""
end if

Heu non, je reviens vers vous car je ne sais plus rien encoder dans les cellules A2 et B2
Ni aurait-il pas une solution pour que ces deux cellules acceptent d'autres valeurs que celles proposées par les formules si celles-ci ne conviennent pas ?
😕

Merci !
 
- 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
1 K
Réponses
14
Affichages
2 K
Réponses
12
Affichages
2 K
Retour