Souci de report de 4 dates dans la base

Webperegrino

XLDnaute Impliqué
Supporter XLD
Bonjour Le Forum,

J'appelle un UserForm2 à l'aide d'un bouton image placé dans le coin de ma feuille base de données : tout fonctionne bien.


J'ai par contre un souci de report de date dans cette base avec l'utilisation d'un deuxième bouton (pris dans Formulaire - bouton) et placé dans une autre feuille.
L'usreform2 est bien appelé, les données qui y sont placées partiront bien dans la base de données SAUF LES DATES.

Je ne comprends pas pourquoi les dates ne sont pas reportées dans ce deuxième cas de saisie-validation à partir du formulaire UserForm2.

Merci de me venir en aide,
Webperegrino

Voici ce que j'ai mis comme codes (fichier trop lourd pour être transmis, désolé) :

Dans un module 10
:

‘ les dates tdate1 à tdate4 ne se déporteront pas dans la base avec cet ordre
Sub Bouton2_QuandClic() 'Saisie Sorties ds Feuil FORMULAIRES
UserForm2.Show
End Sub
‘ Tout fonctionne bien avec ce premier ordre
Sub CréationSorties() ' Code CréationSorties dans BDS
UserForm2.Show
End Sub


Dans UserForm2 (Code)
:

Dim ligne As Integer

Sub CommandButton2_Click() 'Valider la saisie-Sorties
On Error Resume Next
X = Range("ligne").Address
ligne = StrReverse(Left(StrReverse(X), Application.Find("$", StrReverse(X)) - 1))
With Sheets("Référentiel des Saisies SORTIES")
.Range("B" & ligne) = Me.tdate1.Value
.Range("B" & ligne) = Format(Range("B" & ligne), "dd/m/yyyy")
.Range("C" & ligne).Value = Me.ComboBox5.Value
.Range("D" & ligne).Value = TextBox2.Value
.Range("E" & ligne).Value = TextBox3.Text
.Range("F" & ligne).Value = Me.tdate2.Value
.Range("F" & ligne).Value = Format(Range("F" & ligne), "dd/m/yyyy")
.Range("G" & ligne).Value = TextBox14.Text
.Range("H" & ligne).Value = TextBox4.Value
.Range("I" & ligne).Value = TextBox5.Text
.Range("J" & ligne).Value = TextBox6.Text
.Range("K" & ligne).Value = TextBox7.Text
.Range("L" & ligne).Value = Me.tdate3.Value
.Range("L" & ligne).Value = Format(Range("L" & ligne), "dd/m/yyyy")
.Range("M" & ligne).Value = TextBox8.Value
.Range("N" & ligne).Value = ComboBox4.Text
.Range("O" & ligne).Value = (CDbl(TextBox2.Value) + CDbl(TextBox4.Value) + CDbl(TextBox8.Value))
.Range("P" & ligne).Value = Me.tdate4.Value
.Range("P" & ligne).Value = Format(Range("P" & ligne), "dd/m/yyyy")
.Range("Q" & ligne).Value = TextBox9.Value
.Range("R" & ligne).Value = "=SUM(RC[-3]+RC[-1])"
End With
Unload Me
'ou après report dans la base vidange des cellules pour nouvelle saisie (Comment faire ?)
End Sub

Private Sub tdate1_Change()
Me.tdate1.Text = Format(Me.tdate1, "dd/mm/yy")
End Sub
Private Sub tdate2_Change()
Me.tdate2.Text = Format(Me.tdate2, "dd/mm/yy")
End Sub
Private Sub tdate3_Change()
Me.tdate3.Text = Format(Me.tdate3, "dd/mm/yy")
End Sub
Private Sub tdate4_Change()
Me.tdate4.Text = Format(Me.tdate4, "dd/mm/yy")
End Sub
Private Sub CommandButton1_Click() 'Annuler la saisie
Unload Me
End Sub

' Tri de la liste pour ComboBox5 SANS BLANC ET DANS L'ORDRE
'
Private Sub Userform_Initialize()
With Worksheets("Liste des Sites & Paramètres")
' ComboBox5.List = .Range("K42:K120").Value
Dim c As Range
Dim tablo()
Dim i As Integer, j As Integer
Dim temp As String
Dim present As Boolean
ReDim tablo(1 To 1)
tablo(1) = Cells(1, 1)
For Each c In Sheets("Liste des Sites & Paramètres").Range("K200:K" & Range("K200").End(xlUp).Row)
present = False
For i = 1 To UBound(tablo)
If tablo(i) = c Then present = True
Next i
If Not present Then
ReDim Preserve tablo(1 To UBound(tablo) + 1)
tablo(UBound(tablo)) = c
End If
For i = 1 To UBound(tablo)
For j = 1 To UBound(tablo)
If tablo(i) < tablo(j) Then
temp = tablo(i)
tablo(i) = tablo(j)
tablo(j) = temp
End If
Next j
Next i
Next c
ComboBox5.List = tablo
End With
End Sub
 

JNP

XLDnaute Barbatruc
Re : Souci de report de 4 dates dans la base

Bonjour Webperegrino :),
Essaie de remplacer
Code:
.Range("F" & ligne).Value = Me.tdate2.Value
.Range("F" & ligne).Value = Format(Range("F" & ligne), "dd/m/yyyy")
par
Code:
.Range("F" & ligne).Value = Format(CDate(Me.tdate2.Value), "dd/m/yyyy")
Bon dimanche :)
 

Webperegrino

XLDnaute Impliqué
Supporter XLD
Re : Souci de report de 4 dates dans la base

Bonjour Le Forum, Bonjour JNP,
J'ai essayé mais c'est plus catastrophique !

Du coup, avec les deux boutons, la validation du formulaire de saisie ne reporterait plus les dates.

Pour une meilleur compréhension de l'affaire voici l'affichage en résultat.

Avec le bouton de de la Base de donnée : les dates se placent sur la première ligne ENTIÈRE vide
Avec le 2ème bouton d'appel : les dates seules ne sont pas reportées.

Je ne suis pas expert mais je pense que c'est dans la qualité dela formulation des lignes suivantes que ça se pase :

X = Range("ligne").Address
ligne = StrReverse(Left(StrReverse(X), Application.Find("$", StrReverse(X)) - 1))


Merci toutefois JNP pour ta proposition si rapide.

Webperegrino
 

Pièces jointes

  • Résult.jpg
    Résult.jpg
    32.3 KB · Affichages: 34

Discussions similaires

Statistiques des forums

Discussions
312 104
Messages
2 085 335
Membres
102 865
dernier inscrit
FreyaSalander