Message erreur si donnée non renseignée
Bonjour à Toutes & à tous,
Je me permets de vous contacter car est ce possible d'indiquer en vba un message d'erreur si données non renseignées.
Je m'expliques dans mon dossier devis, il arrive quelque fois que l'on oubli d'indiquer dans D14 le nombre de déplacement faussant ainsi le prix. est ce possible que lors de l'enregistrement si D14 n'est pas renseigné, un message d'erreur s'affiche a sachant que 3 clients n'ont pas de tarif déplacement voir astérix
Je joins mon fichier merci par avance
Sab
Bonjour Candide
Si je me fie à ce qui est indiqué en commentaire dans le fichier, voici une possibilité
Sub SauveDevis()
' Indiquer le bon nom de l'onglet (Devis pour l'exemple)
With Sheets("Devis")
If .Range("D3").Value <> "CLIENT A" And .Range("D3").Value <> "CLIENT C" _
And .Range("D3").Value <> "CLIENT Z" Then
If .Range("D14") = "" Then
MsgBox "Vous devez renseigner le déplacement", vbCritical, "OUPS..."
.Select
End If
End If
End With
End Sub
A+
Merci Bruno,
J'ai essayé ton code mais j'avais déjà un module pour enregistrer chaque devis dans un dossier commun
Sub SauveDevis()
' Indiquer le bon nom de l'onglet (Devis pour l'exemple)
With Sheets("DEVIS CHANTIER")
If .Range("D3").Value <> "ClientA" And .Range("D3").Value <> "Client G" And .Range("D3").Value <> "Client P" _
And .Range("D3").Value <> "Client S" And .Range("D3").Value <> "Client So" Then
If .Range("D14") = "" Then
MsgBox "Vous devez renseigner le déplacement", vbCritical, "OUPS..."
.Select
End If
End If
End With
End Sub
Sub Enregistrer()
'Déclaration des variabbles
Dim NomDossier As String
Dim CheminDossier As String
On Error GoTo 1
'Nom de Dossier
NomDossier = Application.InputBox("Indiquer le Nom du Client :", "Dossier")
CheminDossier = "w:\DOSSIERS PARTAGES\GESTION COMMERCIALE\DEVIS\BANDE TRANSPORTEUSE\DEVIS 2023\" & NomDossier & "-"
If NomDossier = "" Then Exit Sub
If Range("N4").Value = "" Then
MsgBox "Merci d'indiquer le nom de la Bande Transporteuse", vbOKOnly + vbInformation, "sauvegarder"
Range("N4").Select
Else
With ActiveWorkbook
.SaveAs Filename:=CheminDossier & " " & Range("N4"), FileFormat:=xlOpenXMLWorkbookMacroEnabled
End With
MsgBox "Votre devis a bien été enregistré"
Sheets("JONCTION ATELIER").Shapes("Bouton").Delete
End If
1
End Sub
Edit modo : code à mettre entre balises avec le bouton </> merci d'y faire attention la prochaine fois
Cela enregistre toujours bien mais ne m'indique pas ton OUPS (le Oups est pas mal je le garderais) est je fais une boulette ou dois je créer un nouvel module?
En attente de te lire
Re,
Désolé, mais je ne reprends jamais le code que je donne et qui est fonctionnel
A vous de l'intégrer dans celui existant et que vous auriez dû laisser lors de votre demande
Bonne fin de journée