Erreur si données manquantes dans un Userform
Bonjour à tous, je sollicite une fois de plus votre aide.
J'ai créé un userform dans lequel mon opérateur entre des données. Je demande au programme de trouver la date, l'heure, la ref et le numéro d'OF pour ensuite retrouver une ligne dans mon tableau pour pouvoir déclarer les différents types de rebuts, tout cela fonctionne très bien. Le problème étant que si l'opérateur oublie de remplir une de ses quatre informations le programme affiche un message d'erreur et je ne vois pas de solution hormis d'obliger l'opérateur à saisir ces données.
Merci d'avance pour votre aide et belle journée
Sheets("POUDRAGE").Activate
Application.Calculation = xlCalculationManual ' on accelere l'éxécution'
With Range("Donnees").ListObject
Set cell = .ListColumns("clé").Range.Find(CDec(CDate(txtdate)) & Hour(CDate(txtheure)) & txtof & cboref, LookIn:=xlValues) ' on cherche la colonne selon la date, l'heure, le num OF et la ref
If Not cell Is Nothing Then
Y = cell.Row - .HeaderRowRange.Row ' On remplit la ligne
If zerorebuts.Enabled = False Then
.ListColumns("NbNC Brutes").DataBodyRange.Rows(Y) = 0
.ListColumns("Gratton").DataBodyRange.Rows(Y) = 0
.ListColumns("Manque").DataBodyRange.Rows(Y) = 0
.ListColumns("Limites").DataBodyRange.Rows(Y) = 0
.ListColumns("Coulure").DataBodyRange.Rows(Y) = 0
.ListColumns("Infiltration").DataBodyRange.Rows(Y) = 0
.ListColumns("Peau d'orange").DataBodyRange.Rows(Y) = 0
.ListColumns("Autres 1").DataBodyRange.Rows(Y) = 0
.ListColumns("Commentaire1").DataBodyRange.Rows(Y) = 0
Else
.ListColumns("NbNC Brutes").DataBodyRange.Rows(Y) = Val(txtnbncbruts)
.ListColumns("Gratton").DataBodyRange.Rows(Y) = Val(txtgrattons)
.ListColumns("Manque").DataBodyRange.Rows(Y) = Val(txtmanque)
.ListColumns("Limites").DataBodyRange.Rows(Y) = Val(txtlimite)
.ListColumns("Coulure").DataBodyRange.Rows(Y) = Val(txtcoulures)
.ListColumns("Infiltration").DataBodyRange.Rows(Y) = Val(txtinfiltration)
.ListColumns("Peau d'orange").DataBodyRange.Rows(Y) = Val(txtpeauorange)
.ListColumns("Autres 1").DataBodyRange.Rows(Y) = Val(txtautre1)
.ListColumns("Commentaire1").DataBodyRange.Rows(Y) = txtcommentaire
End If
Else
MsgBox "La ligne correspondante n'a pas été trouvée"
Bonjour
Même problème qu'ici non ? --> https://forum.excel-pratique.com/excel/additionne-dans-une-cellule-la-valeur-entree-meme-si-elle-est...
Si oui, pourquoi ne pas rester sur le même fil
....programme affiche un message d'erreur et je ne vois pas de solution hormis d'obliger l'opérateur à saisir ces données.
Et vous voulez qu'il se passe quoi dans ce cas ?
Rem : Lorsque vous postez un code, pensez à utiliser les balises de code </> disponibles dans les icones au dessus de votre post. Ce sera nettement plus lisible
Cordialement