XL 2019 Format de date dans ListBox US (MM/JJ/AAAA) à changer en FR (JJ/MM/AAAA).

  • Initiateur de la discussion Initiateur de la discussion Tempus
  • 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 !

Tempus

XLDnaute Junior
Bonjour à tous,

J'ai deux problèmes avec mon fichier Excel, pour le premier, la date passe en format mois, jour, année lorsque je modifie une donnée sur une des lignes dans la Listbox avec le bouton modifier, je souhaiterais que la date reste au format jour, mois, année.

Pour le second problème, j'ai incorporé dans l'Userform un code de tri par date"trouvé sur le net", celui-ci fonctionne très bien, sauf que les calculs avec les colonnes H et I deviennent incorrect après le tri.

J'ai testé plusieurs pistes,pour ces deux problèmes, mais rien n'a fonctionné, je vous sollicite donc une nouvelle fois.

Le code du bouton Modifier est ci-dessous et, le fichier est en pièce jointe.

Merci à vous.


Private Sub CommandButton3_Click()

Dim a, b, c, d, j, e, f, g, h, i As String

a = TextBox1.Value
b = TextBox9.Value
c = TextBox10.Value
d = TextBox2.Value
e = TextBox3.Value
f = TextBox4.Value
g = TextBox5.Value
h = TextBox6.Value
i = TextBox7.Value
j = TextBox8.Value
K = TextBox13.Value



Dim lig As Integer
Dim Cible As Integer
If ListBox1.ListIndex = -1 Then Exit Sub
lig = ListBox1.ListIndex + 2
Cible = ListBox1.ListIndex
Worksheets("BD").Cells(lig, 1) = a
Worksheets("BD").Cells(lig, 2) = b
Worksheets("BD").Cells(lig, 3) = c
Worksheets("BD").Cells(lig, 4) = d
Worksheets("BD").Cells(lig, 5) = e
Worksheets("BD").Cells(lig, 6) = f
Worksheets("BD").Cells(lig, 7) = g
'Worksheets("BD").Cells(lig, 8) = h ' Original

Worksheets("BD").Cells(lig, 8).FormulaLocal = "=" & Cells(lig, 7).Address & "/" & Cells(lig, 6).Address
Worksheets("BD").Cells(lig, 8).NumberFormat = "0.0"
Worksheets("BD").Cells(lig, 9).FormulaLocal = "=" & Cells(lig, 5).Address & "/" & Cells(lig, 8).Address
Worksheets("BD").Cells(lig, 9).NumberFormat = "0.000"

'Worksheets("BD").Cells(lig, 9) = i
Worksheets("BD").Cells(lig, 10) = j
Worksheets("BD").Cells(lig, 11) = K
ListBox1.RowSource = ""

Set f = Sheets("BD")
Set rng = f.Range("A2:K" & f.[A65000].End(xlUp).Row)
NbCol = rng.Columns.Count
TblBD = rng.Value
Me.ListBox1.List = TblBD
Me.ListBox1.ColumnCount = NbCol
'UserForm2.ListBox1.Selected(Cible) = True

Dim z As Integer
With ListBox1
For z = 0 To ListBox1.ListCount - 1
.List(z, 7) = Format(.List(z, 7), "0000.0")
.List(z, 8) = Format(.List(z, 8), "0.000")
Next z
End With

End Sub
 

Pièces jointes

Solution
Le code avec 0,97 :
VB:
With [Bd[Conformité]]
    .NumberFormat = "General"
    .FormulaLocal = "=SI(OU([@RVBF]>1,03+0,03*OU(GAUCHE([@Formule];3)=""INI"";GAUCHE([@Formule];3)=""INS"");[@RVBF]<0,97-0,03*OU(GAUCHE([@Formule];3)=""INI"";GAUCHE([@Formule];3)=""INS""));""NC"";"""")"
End With
Bonsoir à tous,
Bonsoir le forum,

Je souhaiterais ajouter une condition supplémentaire dans le code.

Pouvez-vous m'aider.

Actuellement, il y a celle-ci.

[Bd [Conformité]]. FormulaLocal = "= SI (OU ([@ R]> 1,03; [@ R] <0,97);" "NC" ";" "" ")"

et j'aimerais ajouter en plus celle-la.

'si les caractères INI ou INS apparaissent dans la colonne Formule alors il faut appliquer cette règle et, non celle du dessus.

[Bd [Conformité]]. FormulaLocal = "= SI (OU ([@ R]> 1,06; [@ R] <0,94);" "NC" ";" "" ")"



Le fichier est en pièce jointe.
Merci à vous.
 

Pièces jointes

Dernière édition:
Le code avec 0,97 :
VB:
With [Bd[Conformité]]
    .NumberFormat = "General"
    .FormulaLocal = "=SI(OU([@RVBF]>1,03+0,03*OU(GAUCHE([@Formule];3)=""INI"";GAUCHE([@Formule];3)=""INS"");[@RVBF]<0,97-0,03*OU(GAUCHE([@Formule];3)=""INI"";GAUCHE([@Formule];3)=""INS""));""NC"";"""")"
End With
 
Si J est compris entre 0.97 et 1.03 =Ok sinon NC dans L.
Sauf lorsque INI ou INS sont inscrits dans J alors NC dans L si valeur pas comprise entre 0.94 et 1.06.
Avec ma formule c'est :
Si J est compris entre 0.97 et 1.03 ="" sinon NC dans L.
Sauf lorsque INI ou INS sont inscrits dans E alors NC dans L si valeur pas comprise entre 0.94 et 1.06.
 
job75 a dit:
"Si J est compris entre 0.97 et 1.03 ="" sinon NC dans L.
Sauf lorsque INI ou INS sont inscrits dans E alors NC dans L si valeur pas comprise entre 0.94 et 1.06. "

Effectivement, c'est bien dans E qu' INI ou INS sont saisis et non dans J comme je l'ai écrit.

Mais dans l'exemple ci dessous J a une valeur de 0.966 et le NC s'affiche dans L quand même, malgré que le INI soit bien inscrit dans E.

1600417711020.png
 
- 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

Discussions similaires

Réponses
17
Affichages
1 K
Réponses
8
Affichages
976
Retour