Insérer des messages d'erreurs venant de plusieurs feuilles dans Excel

Salu à tous

j'ai une question sur les messages d'erreurs. oft j'aimerais que lorsque j'ouvre mon excel avec macro, un message d'erreur créé dans chaque feuille excel s'ouvre. J'ai trouvé comment insérer un message lors de l'ouverture de mon excel mais juste pour une seule feuille . C'est en peu confu mais je voulais réélllemm que le patient qui est instable par exemple saisi dans une autre feuille s'affiche lors de l'ouverture de mon fichier excel avec macro . J'espère avoir une aide venant du forum

Avé César, bonjour le forum,

je ne pense pas que tu obtiennes de l'aide avec des explications aussi peu claires !...

Bonjour ThauThème,

Merci pour votre réponse .

Je vais essayer d'être clair . Est ce qu'il y a un moyen de générer des messages d'erreurs venus de plusieurs feuilles utilisés sur un même fichier excel?

Par exemple

Private Sub Workbook_Open()

''pour les patients stables

Dim EtatPatient1 As Range

For Each EtatPatient1 In ActiveSheet.Range("ListEtatPatient")

Valeur = Cells(EtatPatient1.Row, 1)

If EtatPatient1 = "Stable" Then

MsgBox "Le patient" & Valeur & "doit revenir une année après pour vérifier la stabilité.", vbExclamation, "Vérification du patient stable"

Else

End If

Next

'''pour les patients instables

Dim EtatPatient2 As Range

For Each EtatPatient2 In ActiveSheet.Range("ListEtatPatient2")

Valeur = Cells(EtatPatient2.Row, 1)

If EtatPatient1 = "Instable" Then

MsgBox "Le patient" & Valeur & "est instable et doit revenir pour un autre suivi.", vbCritical, "Vérification du patient instable"

Else

End If

Next

End Sub

''''ce que j'ai cité ci-haut s'affiche quand j'ouvre excel mais c'est seulement sur la première feuille saisie

Ma question reviens comme suit: Si je voulais ouvrir d'autres feuilles sur le même fichier excel et que je saisisse les mêmes patients, j'aurais t'il un code pour afficher si un patient est stable ou pas. En passant j'ai deux états du patient. L'un pour sa stabilité et l'autre pour son instablité . Allez!!! C'est faisable ou pas

Re,

Peut-être comme ça :

Private Sub Workbook_Open()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim CEL As Range 'déclare la variable CEL (CELlule)

For Each O In Sheets 'boucle 1 : sur tous les onglets O du classeur
    For Each CEL In O.Range("ListEtatPatient") 'boucle 2 : sur toutes les cellules CEL de la plage nommée "ListEtatPatient" de l'onglet O
        Select Case CEL.Value 'agit en fonction de la valeur de la celluile CEL
            Case "Stable" 'cas "Stable"
                'message
                MsgBox "Le patient " & O.Cells(CEL.Row, 1) & " de l'onglet " & O.Name & " doit revenir une année après pour vérifier la stabilité.", vbExclamation, "Vérification du patient stable"
            Case "Instable" 'cas "Instable"
                'message
                MsgBox "Le patient " & O.Cells(CEL.Row, 1) & " de l'onglet " & O.Name & " doit revenir une année après pour vérifier la stabilité.", vbExclamation, "Vérification du patient stable"
        End Select 'fin de l'action en fonction de la valeur de la cellule CEL
    Next CEL 'prochaine cellule de la boucle 2
Next O 'prochian onglet de la boucle 1
End Sub

Bonjour ThauThème,

Merci pour votre réponse . Toutefois, j'ai un autre petit problème car j'ai deux variables listeEtatPatient (1 et 2). L'un, je le sélectionne pour sa stabilité d'où le message de revenir une année après. Et une autre ListeEtatPatient c'est à dire le 2ème, pour son instabilité d'où le message de revenir le plutôt possible pour un autre test . En passant, toutes les deux listeEtatPatient(1 et 2) sont sur chaque onglet. Et merci pour votre aide

Re,

Désolé Jules, mais sans le fichier qui va bien je ne pourrai pas vous aider davantage car ce n'est pas clair pour moi...

Bonjour ThauThème,

voilà mon fichier excel avec macro

7fichier-excel.xlsm (51.37 Ko)
Rechercher des sujets similaires à "inserer messages erreurs venant feuilles"