Microsoft 365 Msgbox + ref cellule

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

JBL07

XLDnaute Occasionnel
Bonjour le Forum !

Petite question qui j'en suis sûr sera simple.. pour vous 🙂

J'ai le petit code ci-dessous, et je souhaiterais que "(alertedebut.Row, 8)", qui fait référence à une cellule contenant un horaire ( sous la forme 00:00), se mette à jour dans le msgbox en fonction de la ligne ciblée par la macro
Et bien je n'y arrive pas ....

Private Sub Workbook_Open()

Dim alertedebut As Range
For Each alertedebut In ActiveSheet.Range("alerte_debut")
Valeur = Cells(alertedebut.Row, 2)
If alertedebut = Date Then
MsgBox "La tâche " & Valeur & " est à effectuer aujourd’hui avant (alertedebut.Row, 8)", vbCritical, "Début période de tâche"
Else
End If
Next

End Sub
 
Solution
Bonjour JBL,
Vous pouvez utiliser la fonction AND pour faire que deux conditions soient nécessaires, avec la syntaxe :
VB:
If Condition1 AND Condition2 Then
Donc tentez :
Code:
Private Sub Workbook_Open()
Dim alertefin As Range
For Each alertefin In ActiveSheet.Range("alerte_fin")
    Valeur = Cells(alertefin.Row, "B")
    Statut = Right(Cells(alertefin.Row, "M"), 8)
    If alertefin = Date And Statut <> "Terminée" Then
        MsgBox "Délai atteint, la tâche " & Valeur & " est à effectuer aujourd’hui avant " & Format(CDate(Cells(alertefin.Row, 9)), "hh:mm") & " ", vbExclamation, "Début période de tâche"
    End If
Next
End Sub
NB: Le Right sert à isoler "Terminée" sans avoir à gérer le caractère spécial qui est à gauche.
Bonjour JBL,
Tel qu'écrit " est à effectuer aujourd’hui avant (alertedebut.Row, 8)" est une chaine de caractères unique.
Peut être ceci :
VB:
MsgBox "La tâche " & Valeur & " est à effectuer aujourd’hui avant ( " & cells(alertedebut.Row, 8) & " )", vbCritical, "Début période de tâche"
 
Hello Sylvanu !

Ca fonctionne( comme quoi, une petite parenthèse bien placée !.. ), merci beaucoup.. sauf le format : 12:00 s'affiche comme ça dans le msgbox :

1640873085231.png
 
Tout dépend de ce que vous avez en cells(alertedebut.Row, 8).
Si c'est une heure que vous voulez afficher alors essayez :
VB:
MsgBox "La tâche " & Valeur & " est à effectuer aujourd’hui avant ( " & CDate(cells(alertedebut.Row, 8)) & " )", vbCritical, "Début période de tâche"
Sinon jetez une oeil à : LIEN
 
Comment aurais je pu savoir ce que vous avez dans votre cellule ? 🙂
VB:
MsgBox "La tâche " & Valeur & " est à effectuer aujourd’hui avant ( " & Format(CDate(cells(alertedebut.Row, 8)), "hh:mm") & " )", vbCritical, "Début période de tâche"
 
Bah je l'ai écrit dans mon message de départ 🙂 -> "(alertedebut.Row, 8)", qui fait référence à une cellule contenant un horaire ( sous la forme 00:00)"
Bon, on approche, mais le msgbox affiche 00:00 ( pour la ligne test, j'ai noté 22:00)
 
Bonjour le Forum,
Je relance cette demande car je voudrais modifier le msgbox :

Je souhaiterais ajouter une condition à son apparition, à savoir que le statut en colonne M soit différent de
"👍 - Terminée"
J'ai nommé cette plage de cellules "Liste_statuts", mais je ne sais pas comment inclure cette seconde condition dans le code

Merci de votre aide
 

Pièces jointes

Bonjour JBL,
Vous pouvez utiliser la fonction AND pour faire que deux conditions soient nécessaires, avec la syntaxe :
VB:
If Condition1 AND Condition2 Then
Donc tentez :
Code:
Private Sub Workbook_Open()
Dim alertefin As Range
For Each alertefin In ActiveSheet.Range("alerte_fin")
    Valeur = Cells(alertefin.Row, "B")
    Statut = Right(Cells(alertefin.Row, "M"), 8)
    If alertefin = Date And Statut <> "Terminée" Then
        MsgBox "Délai atteint, la tâche " & Valeur & " est à effectuer aujourd’hui avant " & Format(CDate(Cells(alertefin.Row, 9)), "hh:mm") & " ", vbExclamation, "Début période de tâche"
    End If
Next
End Sub
NB: Le Right sert à isoler "Terminée" sans avoir à gérer le caractère spécial qui est à gauche.
 

Pièces jointes

Dernière édition:
- 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
4
Affichages
441
Retour