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

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

  • Format de date dans ListBox US MMJJAAAA à changer en FR JJMMAAAA.xlsm
    51.8 KB · Affichages: 70
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

Tempus

XLDnaute Junior
Bonjour pierrejean,


Dim a As Date fonctionne, mais j'ai dû pour cela retirer le *1 aux lignes ci dessous. car sinon il y a une erreur "voir pièce jointe"

Worksheets("BD").Cells(lig, 2) = b * 1
Worksheets("BD").Cells(lig, 3) = c * 1
Worksheets("BD").Cells(lig, 4) = d * 1
Worksheets("BD").Cells(lig, 5) = e * 1
Worksheets("BD").Cells(lig, 6) = f * 1
Worksheets("BD").Cells(lig, 7) = g * 1

Chose étrange, Dim a As Date fonctionne avec Excel 2019 mais pas sur mon pc portable de travail qui est avec Excel 365, la date est toujours au format mois, jour, date
Avez-vous une idée?

Merci à vous.
 

Pièces jointes

  • erreur VBA.PNG
    erreur VBA.PNG
    18.5 KB · Affichages: 29

Tempus

XLDnaute Junior
Bonsoir,

lorsque le tri par date est lancé les calculs sont erronés, il faut utiliser le bouton modifier et ce ligne par ligne pour avoir les bonnes valeurs sur les colonnes H et I.
Fichier Excel en pièce jointe pour essais.

Merci encore,
 

fanch55

XLDnaute Barbatruc
C'est bon, la date est aussi au bon format avec Excel 365, j'avais oublié d'ajouter As date à la suite de DIM a.

Plus qu'un problème à résoudre avec les calculs qui sont erronés lors d'un tri par date.
Bonsoir, les anomalies que j'ai constatées :
La colonne date n'est pas entièrement au format Date .
Le tri ne prend pas en compte l'intégralité des colonnes :
.SetRange Range("A2:H5000") <-- A2:K5000
Les formules se font sur des adresses absolues (tri-->désynchro des formules)
On ne peut pas faire d'opération avec le contenu de variable string vides .
Les Mfc sont mal ciblées .

Ci-joint un fichier corrigé, à voir si cela vous convient .
 

Pièces jointes

  • tempus.xlsm
    62.9 KB · Affichages: 4

Tempus

XLDnaute Junior
Bonjour fanch55,

Merci pour le fichier corrigé, J'ai saisi quelques lignes de données dans le fichier afin de tester le bouton tri par dates, mais le tri ne ce fait pas.
Je vous joins les copies d’écran des deux erreurs que j’obtiens lorsque j'utilise les boutons ajouter et supprimer.

Merci encore.
 

Pièces jointes

  • Tempus pour essai.xlsm
    55.8 KB · Affichages: 8
  • erreur94 si ajout dans ListBox.PNG
    erreur94 si ajout dans ListBox.PNG
    41.7 KB · Affichages: 26
  • erreur 424  bouton supprimer dans list box.PNG
    erreur 424 bouton supprimer dans list box.PNG
    39.4 KB · Affichages: 26

fanch55

XLDnaute Barbatruc
Bonsoir, après avoir bien galéré avec le délimiteur décimal,
Classeur à tester

( optimalement et avant ouverture de celui-ci, le délimiteur décimal dans les paramètres régionaux doit être la virgule pour avoir un affichage correct , sinon il suffit de fermer et ré-ouvrir le classeur )

Ne pas oublier de remettre le délimiteur à la valeur désirée après le test si vous n'utilisez pas la virgule .
 

Pièces jointes

  • Tempuspouressai.xlsm
    54 KB · Affichages: 7

Tempus

XLDnaute Junior
Bonjour fanch55,

Un grand merci, le tri par dates fonctionne parfaitement et, je n'ai plus d'erreurs de calculs.

J'aurais une dernière requête, je souhaiterais qu'il y ait 1 chiffre après la virgule dans la colonne H "###,#" et 3 chiffres après la virgule dans la colonne I, "#,###" dans la feuille et dans la Listbox.

Le fichier est en pièce jointe avec une capture d’écran qui montre les colonnes H et I à modifier sur la feuille excel et dans la Listbox.

Encore merci,
 

Pièces jointes

  • Tempuspouressai.xlsm
    60.2 KB · Affichages: 7
  • 1 chiffre après la virgule sur H et 3 chiffres après la virgule sur I.PNG
    1 chiffre après la virgule sur H et 3 chiffres après la virgule sur I.PNG
    42.5 KB · Affichages: 26

Tempus

XLDnaute Junior
Bonjour fanch55,

Génial merci à vous, les formats des cellules sont corrects.

Peux-être pourriez-vous m'aider avec mon erreur d’exécution 9 lorsque je Click sur le bouton recherche multicolonne."ce bout de code fonctionne dans un autre fichier Excel pourtant"

Le fichier est en pièce jointe ainsi que la capture d’écran de l'erreur.

Voici le code vb du bouton Recherche multicolonne.

VB:
'Fonction recherche Multicolonne
Private Sub TextBox14_Change()
    clé = "*" & Me.TextBox14 & "*"
  Dim Tbl()
  For I = 1 To UBound(TblBD)
    témoin = False
    For k = 1 To NbCol
      If TblBD(I, k) Like clé Then témoin = True
    Next k
    If témoin Then
        n = n + 1
        ReDim Preserve Tbl(1 To UBound(TblBD, 2), 1 To n)
        For k = 1 To UBound(TblBD, 2): Tbl(k, n) = TblBD(I, k): Next k
     End If
  Next I
  If n > 0 Then
     Me.ListBox1.Column = Tbl
   Else
     Me.ListBox1.List = TblBD
   End If

End Sub
 

Pièces jointes

  • tempusv3.xlsm
    57.4 KB · Affichages: 6
  • erreur execution 9 avec bouton recherche Multicolonne-.PNG
    erreur execution 9 avec bouton recherche Multicolonne-.PNG
    21.6 KB · Affichages: 20

ChTi160

XLDnaute Barbatruc
Bonjour Tempus
Bonjour le Fil ,le Forum
je suis de retour (pas pour longtemps lol)
voilà ce que j'ai modifié pour que le Format de dates de la ListBox soit correct !
VB:
        For I = 0 To .ListCount - 1
            For J = 0 To .ColumnCount - 1
               .List(I, J) = IIf(J = 0, Format(.List(I, J), "dd/mm/yyyy"), Rng.Columns(J + 1).NumberFormat)
            Next J
        Next I
Bonne fin de Journée
jean marie
 

fanch55

XLDnaute Barbatruc
Bonsoir,
A tester
Nota: j'ai rajouté une colonne "Ligne" pour avoir un semblant de "clé"
sinon vous allez droit dans le mur dans les suppressions et modifications avec le filtre de la
TextBox14.
 

Pièces jointes

  • tempusv3-2.xlsm
    55.3 KB · Affichages: 14

Discussions similaires

Réponses
3
Affichages
2 K