Private Sub valider_Click() Dim Lig As Long Dim Col As String Dim Coldate As String Dim NbrLig As Long Dim NumLig As Long Dim madate As String Col = "a" colsomme = "E" NumLig = 0 Sheets("stock").AutoFilterMode = False rechercheequipement = mouvement.equipement.Value Sheets("stock").Select Range("B9").Select Selection.AutoFilter Selection.AutoFilter field:=3, Criteria1:=rechercheequipement Range("b8:Z10000").Copy Sheets("rechercheequipement").Select Range("a2:Z10000").Select ActiveSheet.Paste If mouvement.equipement.Value = "" Then MsgBox (" Veuillez selectionner un équipement") End If 'copie les informations mouvement refequipement = mouvement.equipement.Value With Sheets("suivi stock") NbrLig = .Cells(65536, Col).End(xlUp).Row For Lig = 1 To NbrLig If refequipement .Cells(Lig, Col).Value And mouvement.entrée.Value True Then Sheets("suivi stock").Cells(Lig, 256).End(xlToLeft).Offset(0, 1).Value = mouvement.datemouvement.Value Sheets("suivi stock").Cells(Lig, 256).End(xlToLeft).Offset(0, 1).Value = mouvement.nbentrée.Value Sheets("suivi stock").Cells(Lig, 256).End(xlToLeft).Offset(0, 1).Value = mouvement.destinataire.Value Sheets("stock").Cells(Lig, colsomme).Value = Sheets("stock").Cells(Lig, colsomme).Value + mouvement.nbentrée.Value End If If refequipement .Cells(Lig, Col).Value And mouvement.sortie.Value True Then Sheets("suivi stock").Cells(Lig, 256).End(xlToLeft).Offset(0, 1).Value = mouvement.datemouvement.Value Sheets("suivi stock").Cells(Lig, 256).End(xlToLeft).Offset(0, 1).Value = -mouvement.nbsortie.Value Sheets("suivi stock").Cells(Lig, 256).End(xlToLeft).Offset(0, 1).Value = mouvement.destinataire.Value Sheets("stock").Cells(Lig, colsomme).Value = Sheets("stock").Cells(Lig, colsomme).Value - mouvement.nbentrée.Value End If Next End With madate = mouvement.datemouvement.Text If IsDate(madate) = True Then madate = CDate(madate) madate = Format("dd/mm/yyyy") Else MsgBox ("Entrer une date") If madate = "" Then MsgBox ("Entrer une date") ElseIf mouvement.sortie.Value True And mouvement.destinataire.Value "" Then MsgBox ("Entrer un destinataire") mouvement.Hide Worksheets("stock").Visible = xlSheetVisible Worksheets("stock").Activate Sheets("stock").AutoFilterMode = False End If End If End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionmadate = CDate(madate) madate = Format("dd/mm/yyyy")
En fait après avoir revérifié la boucle ne tourne pas en rond elle s'arrête
madate = mouvement.datemouvement.Text If IsDate(madate) = True Then madate = CDate(madate) madate = Format("dd/mm/yyyy") else MsgBox ("Entrer une date") If madate = "" Then MsgBox ("Entrer une date") ElseIf mouvement.sortie.Value True And mouvement.destinataire.Value "" then MsgBox ("Entrer un destinataire") end if end if
madate = mouvement.datemouvement.Text If IsDate(madate) = True Then madate = CDate(madate) madate = Format("dd/mm/yyyy") Else MsgBox ("Entrer une date") If madate = "" Then MsgBox ("Entrer une date") ElseIf mouvement.sortie.Value True And mouvement.destinataire.Value "" Then MsgBox ("Entrer un destinataire") Else mouvement.Hide Worksheets("stock").Visible = xlSheetVisible Worksheets("stock").Activate Sheets("stock").AutoFilterMode = False End If End If End If
madate = "01/01/2012" If IsDate(madate) = True Then madate = CDate(madate) madate = Format("dd/mm/yyyy") Else MsgBox ("Entrer une date") If madate = "" Then MsgBox ("Entrer une date") ElseIf mouvement.sortie.Value True And mouvement.destinataire.Value "" Then MsgBox ("Entrer un destinataire") Else mouvement.Hide Worksheets("stock").Visible = xlSheetVisible Worksheets("stock").Activate Sheets("stock").AutoFilterMode = False End If End If End If
madate = "01/01/2012" ' donc une string If IsDate(madate) = True Then madate = CDate(madate) ' donc une date ! madate = Format("dd/mm/yyyy" ' donc à nouveau une string !
Sheets("suivi stock").Cells(Lig, 256).End(xlToLeft).Offset(0, 1).Value = mouvement.datemouvement.Value ActiveCell.NumberFormat = "dd/mm/yyyy"