XL 2016 Gestion de L'erreur #valeur!

Gilles Carl

XLDnaute Nouveau
Bonjour a vous tous,

Je m'explique,
Comment empêcher la ligne 3 et 5 d'apparaitre dans le msgbox a l'ouverture du programme ?
n'ayant pas de date dans la colonne A sur ligne 3 et 5 cela cause une erreur due a ma formule en colonne B.

voir l'attachement, merci de votre aide.
 

Pièces jointes

  • Classeur1testtest.xlsm
    19.3 KB · Affichages: 3

TooFatBoy

XLDnaute Barbatruc
Bonjour,

J'avoue ne pas avoir compris grand chose, mais pour ne plus voir l'erreur, tu peux utiliser
=SIERREUR(STXT(A3;TROUVE("/";A3)-2;10);"")

Sinon, je te propose ça :
VB:
Private Sub Workbook_Open()
'
Dim w1 As Worksheet 'FEUILLE A CHOISIR
Dim D As Date
Dim P As Long, i As Long
Dim c As Range

'    Application.DisplayFullScreen = True
'    On Error Resume Next ' A CORRIGER CE PROBLÈME

    Set w1 = Sheets("feuil1") 'Feuille qui contient les alertes
    D = Date

    For Each c In Range("Tableau1[Colonne2]")
        If c.Value <> "" Then
            P = D - CDate(c.Value)
            If P > -15 And P <= 1 Then 'ESPACE TEMP
                i = i + 1
                MsgBox c.Offset(0, -1).Value & "  -  " & i, vbCritical, "IMPORTANT | Avant la fin du projet, vérifier si approbation à obtenir !"
            End If
        End If
    Next c

End Sub
 

Pièces jointes

  • Classeur1testtest_(TooFatBoy-v1).xlsm
    18.6 KB · Affichages: 3
Dernière édition:

Gilles Carl

XLDnaute Nouveau
Bonjour,

J'avoue ne pas avoir compris grand chose, mais pour ne plus voir l'erreur, tu peux utiliser
=SIERREUR(STXT(A3;TROUVE("/";A3)-2;10);"")

Sinon, je te propose ça :
VB:
Private Sub Workbook_Open()
'
Dim w1 As Worksheet 'FEUILLE A CHOISIR
Dim D As Date
Dim P As Long, i As Long
Dim c As Range

'    Application.DisplayFullScreen = True
'    On Error Resume Next ' A CORRIGER CE PROBLÈME

    Set w1 = Sheets("feuil1") 'Feuille qui contient les alertes
    D = Date

    For Each c In Range("Tableau1[Colonne2]")
        If c.Value <> "" Then
            P = D - CDate(c.Value)
            If P > -15 And P <= 1 Then 'ESPACE TEMP
                i = i + 1
                MsgBox c.Offset(0, -1).Value & "  -  " & i, vbCritical, "IMPORTANT | Avant la fin du projet, vérifier si approbation à obtenir !"
            End If
        End If
    Next c

End Sub
Bonjour Toofatboy,

Merci, c'est tout a fait cela.
pour ce qui est du msgbox je voulais dire : au lieu d'avoir plusieurs message pour chaque ligne trouvée
cela serait 1 message qui regrouperais toutes les lignes trouvée.
j'imagine que si il y aurais 20 lignes de trouvées cela serait assez pénible et long d'avoir 20 messages les
un après les autres, loll.
 

cp4

XLDnaute Barbatruc
Bonjour Toofatboy,

Merci, c'est tout a fait cela.
pour ce qui est du msgbox je voulais dire : au lieu d'avoir plusieurs message pour chaque ligne trouvée
cela serait 1 message qui regrouperais toutes les lignes trouvée.
j'imagine que si il y aurais 20 lignes de trouvées cela serait assez pénible et long d'avoir 20 messages les
un après les autres, loll.
Bonjour @Gilles Carl :), @TooFatBoy ;), Le forum:),

@Gilles Carl : Je tiens à te dire que ton plein écran est éphémère. Tu t'en rendras compte en réduisant excel.
Pourquoi ajouter des lignes vides en fin de ton tableau structuré?
Code ci-dessous pour un seul message
VB:
Option Explicit

Private Sub Workbook_Open()
   Application.DisplayFullScreen = True   ' Plein écran éphémère
   On Error Resume Next   ' A CORRIGER CE PROBLÈME

   Dim w1 As Worksheet   'FEUILLE A CHOISIR
   Dim D As Date, i As Long, P As Long, texte As String

   Set w1 = Sheets("feuil1")   'Feuille qui contient les alertes
   D = Date

   For i = 3 To w1.Range("B" & Rows.Count).End(xlUp).Row   ' faire toute la colonne B
      P = D - w1.Range("B" & i)   ' colonne B Ligne 3
      If P > -15 And P <= 1 Then  'ESPACE TEMP
      texte = texte & vbLf & w1.Range("a" & i) 'collecte lignes concernées
      End If
   Next
   MsgBox texte, vbCritical, "IMPORTANT | AVANT LA FIN DU PROJET VÉRIFIÉ SI APPROBATION A OBTENIR!"
End Sub
Bonne journée.
 
Dernière édition:

TooFatBoy

XLDnaute Barbatruc
pour ce qui est du msgbox je voulais dire : au lieu d'avoir plusieurs message pour chaque ligne trouvée
cela serait 1 message qui regrouperais toutes les lignes trouvée.
Oui, j'avais fini par comprendre en relisant les questions sur le forum et dans le classeur.


Mais à mon avis, qu'il y ait 15 messages ou un seul, ce sera quasiment aussi chiant pour l'utilisateur qui du coup ne le lira pas... et même si tu tombes sur un énergumène qui lit quand même le message, il n'arrivera jamais à mémoriser la liste des noms, qui est donc totalement inutile !
C'est pourquoi, plutôt que d'essayer de développer un truc qui ne servira à rien, j'ai préféré mettre une simple MFC pour attirer l'œil de l'utilisateur. 😉
 

cp4

XLDnaute Barbatruc
Oui, j'avais fini par comprendre en relisant les questions sur le forum et dans le classeur.


Mais à mon avis, qu'il y ait 15 messages ou un seul, ce sera quasiment aussi chiant pour l'utilisateur qui du coup ne le lira pas... et même si tu tombes sur un énergumène qui lit quand même le message, il n'arrivera jamais à mémoriser la liste des noms, qui est donc totalement inutile !
C'est pourquoi, plutôt que d'essayer de développer un truc qui ne servira à rien, j'ai préféré mettre une simple MFC pour attirer l'œil de l'utilisateur. 😉
Bonjour @TooFatBoy ;) , je partage ton avis.
J'ai essayé de répondre à sa demande. En effet, une MFC est plus indiquée ou une autre feuille.
 

Gilles Carl

XLDnaute Nouveau
Oui, j'avais fini par comprendre en relisant les questions sur le forum et dans le classeur.


Mais à mon avis, qu'il y ait 15 messages ou un seul, ce sera quasiment aussi chiant pour l'utilisateur qui du coup ne le lira pas... et même si tu tombes sur un énergumène qui lit quand même le message, il n'arrivera jamais à mémoriser la liste des noms, qui est donc totalement inutile !
C'est pourquoi, plutôt que d'essayer de développer un truc qui ne servira à rien, j'ai préféré mettre une simple MFC pour attirer l'œil de l'utilisateur. 😉


Bonjour, TooFatBoy et cp4

Vous avez entièrement raison et je l'apprécie.
cela fonctionne bien et
merci a vous deux et bonne journée.
 

cp4

XLDnaute Barbatruc
Bonjour, TooFatBoy et cp4

Vous avez entièrement raison et je l'apprécie.
cela fonctionne bien et
merci a vous deux et bonne journée.
@Gilles Carl : Merci de pointer message 2 de @TooFatBoy répondant à ta question initiale avec flèche haut ou flèche bas dans le petit cadre à droite du message). ça sera ta contribution pour facilité à d'autres membres en recherche de solution.
Bonne continuation sur ton projet.
 

TooFatBoy

XLDnaute Barbatruc
@Gilles Carl : Merci de pointer message 2 de @TooFatBoy répondant à ta question initiale avec flèche haut ou flèche bas dans le petit cadre à droite du message). ça sera ta contribution pour facilité à d'autres membres en recherche de solution.
Tu peux aussi mettre une flèche vers le haut pour #4 de @cp4 qui répond parfaitement à la question posée initialement.
Apparemment, on peut mettre autant de flèches qu'on veut dans un fil de discussion. ;)

Et pour clore un fil de discussion, c'est sur la coche dans un cercle, de la réponse répondant le mieux à ta question, qu'il faut cliquer.
Là en revanche, on est limité à une seule coche. ;)
 

Discussions similaires

Réponses
22
Affichages
781
Réponses
7
Affichages
351

Statistiques des forums

Discussions
312 229
Messages
2 086 423
Membres
103 206
dernier inscrit
diambote