Juste à titre illustratif concernant le IIF
(et pour aussi éviter les ligne de code à rallonge)
VB:
Sub test_IIF()
Dim r As Range
Set r = ThisWorkbook.Worksheets(1).[H3]
r = "NUIT"
X = IIf(r = "NUIT", "toto", "titi")
MsgBox X
r = "JOUR"
X = IIf(r = "NUIT", "toto", "titi")
MsgBox X
End Sub
Coup de pouce en forme de Select Case
En lieu et place du IIF
VB:
Sub test_II()
Randomize 1600
X = Chr(Application.RandBetween(65, 67))
Select Case X
Case "A"
MsgBox "Jour", vbCritical, X
Case "B"
MsgBox "Nuit", vbExclamation, X
Case "C"
MsgBox "Entre chien et loup", vbInformation, X
End Select
End Sub
NB: Toujours uniquement en mode illustratif.
Le test consiste à lancer plusieurs fois la macro de suite pour voir le fonctionnement du Select Case.
Le gars curieux qui mets les mains dans le cambouis pour triturer son projet de A à Z, c'est toi. Pas moi
Moi, je distille quelques idées et conseils.
Ensuite, c'est toi qui mouille le maillot.
Si j'étais ce p'tit gars, je serai en train de tester un truc du genre par exemple
VB:
Sub Test_Cambouis()
Dim r As Range
Set r = Sheets(1).[W8]
x = Application.RandBetween(1, 2) ' ne sert que pour le test
r = Choose(x, "JOUR", "NUIT") ' ne sert que pour le test
Select Case r
Case "JOUR"
Message = "Ci-dessous le rapport + plan du xx/xx/xxxx " & r.Text
Case "NUIT"
Message = " Ci-dessous le rapport + plan du xx/xx/xxxx au xx/xx/xxxx " & r.Text
End Select
MsgBox Message, 64, r.Text
End Sub