• Initiateur de la discussion Initiateur de la discussion ghislaineg
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

G

ghislaineg

Guest
Bonjour quand je fait une modifie la date dans ma Bd enrégistrement avec ma procedure suivante:


Dim modi As Boolean

'Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
' If CloseMode = vbFormControlMenu Then Cancel = True
'End Sub


Private Sub cmdEnrg_Click()
nuli = Me.cbxChoixDate.ListIndex + 2
With Sheets("BD enr")
.Cells(nuli, 1) = CDate(Me.tbxDate)
.Cells(nuli, 5) = Me.tbxNomBat
.Cells(nuli, 6) = Me.tbxNomQuai
.Cells(nuli, 7) = Me.tbxNomPois
.Cells(nuli, 2) = CDbl(Me.tbxPoidBrut)
.Cells(nuli, 3) = CDbl(Me.tbxPartGlace) / 100
.Cells(nuli, 4) = CDbl(Me.tbxPoidNet)
nli = WorksheetFunction.CountA(.Columns(1))
.Range("A2:J" & nli).Sort Key1:=.Columns(1), Order1:=xlDescending, Header:=xlGuess
End With
miseajour
Me.cbxChoixDate = ""
MsgBox "La modification est enregistrée."
End Sub

Private Sub tbxDate_Change()

End Sub

Private Sub UserForm_Initialize()
modi = False
miseajour
modi = True
End Sub

Private Sub cbxChoixDate_Change()
If modi = False Then Exit Sub
nuli = Me.cbxChoixDate.ListIndex + 2 ' la première ligne de données est 2
modi = False
With Sheets("BD enr")
Me.tbxDate = .Cells(nuli, 1)
Me.tbxNomBat = .Cells(nuli, 5)
Me.tbxNomQuai = .Cells(nuli, 6)
Me.tbxNomPois = .Cells(nuli, 7)
Me.tbxPoidBrut = Format(.Cells(nuli, 2), "#####.00")
Me.tbxPartGlace = Format(.Cells(nuli, 3) * 100, "0.00")
Me.tbxPoidNet = Format(.Cells(nuli, 2) * (1 - .Cells(nuli, 3)), "#####.00")
End With
modi = True
Me.cmdSortir.SetFocus
End Sub
Private Sub tbxPoidBrut_AfterUpdate()
If modi = False Then Exit Sub
ModiCalcul
End Sub

Private Sub tbxPartGlace_AfterUpdate()
If modi = False Then Exit Sub
ModiCalcul
End Sub

Private Sub cmdSortir_Click()
Unload ufConsultation
End Sub

Sub miseajour()
Me.tbxDate = ""
Me.tbxNomBat = ""
Me.tbxNomQuai = ""
Me.tbxNomPois = ""
Me.tbxPoidBrut = ""
Me.tbxPartGlace = ""
Me.tbxPoidNet = ""
Me.cbxChoixDate.List = Range("bd_enrdate").Value
End Sub

Sub ModiCalcul()
With Sheets("BD enr")
Me.tbxPoidNet = Format(CDbl(Me.tbxPoidBrut) * (1 - CDbl(Me.tbxPartGlace) / 100), "#####.00")
Me.tbxPoidBrut = Format(Me.tbxPoidBrut, "#####.00")
Me.tbxPartGlace = Format(tbxPartGlace, "0.00")
End With
End Sub

Si je decide de changer mon champs date dans ma consultation, mon format date qu'il me retourne n'est pas bon, il accepte la date mais au lieu de marque 10/09/2011 comme indique dans le champs il enrégistre dan la bd enr 09/10/2011 il inverse le mois et le jour

est-ce que vous pouvez m'aider... 🙂

Salutation Ghislaine
 
Re : probleme de date

bonsoir
il faut utiliser un format date exprimé au format français à partir d'une date en foramt américain
le code ci-dessous est à adapter
Sub Convertir_dates()
' Convertir une date au format américain vers le format français
Dim Tableau As Variant, Z, Lrow
Application.ScreenUpdating = False
Lrow = Feuil1.Cells(65536, 3).End(xlUp).Row
Tableau = Range("H1:H" & Lrow).Value
For Z = 1 To Lrow
Tableau(Z, 1) = Right(Tableau(Z, 1), 2) & "/" & Mid(Tableau(Z, 1), 5, 2) _
& "/" & Left(Tableau(Z, 1), 4)
Next
Range("H1:H" & Lrow).Value = Tableau
Range("H1:H" & Lrow).NumberFormat = "dd/mm/yyyy"
End Sub
Cordialement
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
15
Affichages
765
Réponses
5
Affichages
900
Réponses
7
Affichages
171
Retour