Bonjour,
Je rencontre encore un problème :'(
J'ai un programme de facturation, dans une textbox il m'affiche la date du jours.
Lorsque j'appuie sur le bouton enregistrer il recopie cette date dans une feuille.
Mais si la date est compris entre le 1er et le 12éme jours du mois il inverse ..
Dans la Textbox : 11-12-18 devient : 12-11-18
MAIS le 16-12-18 restera le 16-12-18 ...
Le code pour la date :
Me.TextBox91.Value = Date
Me.TextBox91.Value = Format(Now, "dd-mm-yy")
Voici le code qui enregistre ma facture/devis (il fonctionne avec des TAG)
Merci à vous.
Je rencontre encore un problème :'(
J'ai un programme de facturation, dans une textbox il m'affiche la date du jours.
Lorsque j'appuie sur le bouton enregistrer il recopie cette date dans une feuille.
Mais si la date est compris entre le 1er et le 12éme jours du mois il inverse ..
Dans la Textbox : 11-12-18 devient : 12-11-18
MAIS le 16-12-18 restera le 16-12-18 ...
Le code pour la date :
Me.TextBox91.Value = Date
Me.TextBox91.Value = Format(Now, "dd-mm-yy")
Voici le code qui enregistre ma facture/devis (il fonctionne avec des TAG)
Merci à vous.
Code:
'Enregistrer le devis ou la facture
Private Sub CommandButton6_click()
If ComboBox13 = "" Then
MsgBox "Aucun mode sélectionné"
Exit Sub
Else
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim PLV As Integer 'déclare la variable PLV (Première Ligne Vide)
Dim CTRL As Control 'déclare la variable CTRL (ConTRôLe)
Dim PM As Integer 'Partie Mobile
Dim NN As String 'Nouveau Numéro
Dim PF As String 'Partie Fixe
If ComboBox13.Value = "Devis" Then
If TextBox96.Value = "" Then
TextBox96.Value = "0"
End If
End If
If MsgBox("Êtes-vous sûr ?", 36, "Confirmation") = vbYes Then 'condition : si "Oui"au message
Select Case UCase(Me.ComboBox13.Value) 'agit en fonction de la valeur de la ComboBox13 (convertie en majuscules)
Case "DEVIS" 'cas "DEVIS"
Set O = Worksheets("Devis") 'définit l'onglet O
Case "FACTURE" 'cas "FACTURE"
Set O = Worksheets("Facturier") 'définit l'onglet O' c'est été plus malin de mettre le même
Case "ACOMPTE" 'cas "ACOMPTE"
Set O = Worksheets("Facturier") 'définit l'onglet O' c'est été plus malin de mettre le même
End Select 'fin de l'action en fonction de la valeur de la Combobox13
PLV = O.Cells(Application.Rows.Count, "A").End(xlUp).Row + 1 'définie la première ligne vide de la colonne A de l'onglet O
For Each CTRL In Me.Controls 'boucle sur tous les contrôles de l'userForm
'si la propriété [Tag] du contrôle n'est pas vide, renvoie la valeur du contrôle dans la cellule
'ligne = PLV / colonne = valeur de la propriété [Tag] du contrôle
If CTRL.Tag <> "" Then O.Cells(PLV, CTRL.Tag).Value = CTRL.Value
Next CTRL 'prochaine contrôle de la boucle
End If 'fin de la condition
PF = Left(O.Cells(PLV - 1, 1).Value, 5)
PM = Mid(O.Cells(PLV - 1, 1).Value, 6) + 1
NN = PF & Format(PM, "00000")
O.Cells(PLV, 1).Value = NN
Worksheets("Facturier").Range("BV:BX").ClearContents 'supprime les données qu'il copie en trop dans Facturier
Worksheets("Devis").Range("BZ:BZ").ClearContents 'supprime les données qu'il copie en trop dans Devis
MsgBox "Les données sont enregistrées"
'Methode simple pour revenir à l'userform "Vide"
Unload Me 'Quitte l'userform
UserForm2.Show 'Revient dans l'userform
End If
End Sub