Blocage VBA sur format Date

Bonsoir

Je débute en VBA et je suis bloqué.

Mon formulaire comprend les dates de début et de fin ce qui me permet de calculer une durée.

Je n’arrive pas à bloquer la macro si les dates ne sont pas remplies ou mal renseignées ce qui me créer un message d’erreur me bloguant ma macro.

Je vous joins un extrait des codes que j'ai employé.

Cordialement Navy55

11extrait-code-vba.pdf (437.38 Ko)

Bonjour et bienvenue sur le forum

Au lieu d'un document pdf qu'on ne peut pas exploiter, tu devrais mettre ton fichier en pièce jointe.

Bye !

Bonsoir

Je vous transmets ci dessous mes Procédures

Procédure permettant d'initialiser le formulaire au démarrage

Private Sub UserForm_Initialize()

'Déclaration des variables

Dim NouvelID As Long

NouvelID = Application.WorksheetFunction.Max(Feuil2.Range("B:B")) + 1

Me.TextNumCd = NouvelID

Me.CmbClient.SetFocus

Me.Label2 = "Veuillez renseigner tous les champs non greizés."

End Sub

'Procedure contrale date Ordo

Private Sub TexDateordo_Exit(ByVal Cancel As MSForms.ReturnBoolean)

If Len(Me.TexDateordo) <> 10 Or Not IsDate(Me.TexDateordo) Then

MsgBox "Entrez la date avec le format 'jj/mm/aaaa' !"

TexDateordo = ""

TexDateordo.SetFocus

Exit Sub

End If

End Sub

'Procedure controle date fin

Private Sub TexDatefin_Exit(ByVal Cancel As MSForms.ReturnBoolean)

If Len(Me.TexDatefin) <> 10 Or Not IsDate(Me.TexDatefin) Then

MsgBox "Entrez la date avec le format 'jj/mm/aaaa' !"

TexDatefin = ""

TexDatefin.SetFocus

Exit Sub

End If

End Sub

'Copy du Formulaire sur fichier Source

'Accès derniere ligne

Sheets("Source").Activate

Range("b2").Select

Selection.End(xlDown).Select

Selection.Offset(1, 0).Activate

'Copy Formulaire

ActiveCell = ActiveCell.Offset(-1, 0) + 1

ActiveCell.Offset(0, 1).Value = CmbClient

ActiveCell.Offset(0, 2).Value = ComboDépart

ActiveCell.Offset(0, 3).Value = ComboCommerc

ActiveCell.Offset(0, 4).Value = TexMedec

ActiveCell.Offset(0, 5).Value = TexFiness

ActiveCell.Offset(0, 6).Value = CDate(TexDateordo)

ActiveCell.Offset(0, 7).Value = CDate(TexDatefin)

ActiveCell.Offset(0, 9).Value = TexObserv

ActiveCell.Offset(0, 10).Value = TexStatu

ActiveCell.Offset(0, 11).Value = TexRef

ActiveCell.Offset(0, 12).Value = ComboFournis

ActiveCell.Offset(0, 13).Value = CInt(Me.TexQtpm)

ActiveCell.Offset(0, 14).Value = TexDesignat

ActiveCell.Offset(0, 15).Value = CCur(Me.TexTarif)

Me.TexMtcd.Value = CCur(TexTarif.Value) * CInt(TexQtpm.Value)

Et Voila

Cordialement

Rechercher des sujets similaires à "blocage vba format date"