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
Normal, comme ce n'est pas un Tableau structuré,
pour déterminer le range de la base, on fait référence aux noms donnés à la première et dernière colonne.
Si vous voulez renommer celle-ci, il faut également modifier le code de Userform2 :


Function Get_Bd(Optional Visible As Boolean) As Range
Dim Cell_Debut As Range
Dim Cell_Fin As Range

With Bd
Set Cell_Debut = .Cells.Find("date", .Cells(1)).Offset(1)
NBrows = .Cells(.Rows.Count, 1).End(xlUp).Row
Set Cell_Fin = .Cells.Find("nom", .Cells(1))
Set Cell_Fin = .Columns(Cell_Fin.Column).Cells(NBrows)
Set Get_Bd = .Range(Cell_Debut, Cell_Fin)
If Visible Then Set Get_Bd = Get_Bd.Rows.SpecialCells(xlCellTypeVisible)

End With

End Function
 
Si l'un de vous à la solution, je souhaitais faire apparaître la conformité ou la non conformité dans la dernière colonne "K"-nommé "conformité", car actuellement je saisie cette information manuellement.

"Non-conforme si inférieur à 0.980 et supérieur à 1.030
et
Conforme si compris entre 0.980 et 1.030."

Grace à vous mon projet prend forme 🙂.

Pour mémoire, il y a déjà une MFC dans le code Vb sur la colonne I voir ci-dessous.

VB:
' on redéfinit la plage des MFC
       ' nota: les formatconditions.modify rendent excel instable
        .Cells.FormatConditions.Delete
        BdRng.Columns("i").FormatConditions.Add(xlCellValue, xlGreater, 1.02) _
            .Interior.Color = vbRed
        BdRng.Columns("i").FormatConditions.Add(xlCellValue, xlLess, 0.98) _
            .Interior.Color = 9420794
    
    End With
 
    Trier_Click

End Sub
 

Pièces jointes

Re-bonsoir,

Avec le bouton Recherche par Date , Produit ou N° si rien n'est trouvé cela génère une erreur d’exécution."voir pièce jointe"
Comme c'est un fichier qui va être utilisé par plusieurs personnes, est-il possible de faire apparaître un message qui indique que rien n'est trouvé à la place de l'erreur.

Merci à vous.
 

Pièces jointes

  • 1598643773850.png
    1598643773850.png
    38.3 KB · Affichages: 23
Bonsoir, ci-joint version de votre classeur après transformation en table structurée ,
( la table s'appelle BD ) .
Vous pouvez déplacer les colonnes à votre envie .
Si vous voulez changer les noms de colonnes, il faut faire un remplacer dans le code du Userform .
Les formats de colonnes se trouvent dans Bd_Reform.
 

Pièces jointes

Bonjour Fanch55,

Génial, c'est un super boulot ,merci à vous🙂, et le rendu fait plus pro.

J'ai renommé les colonnes dans la feuille et dans tout le code, mais je me heurte à une erreur d’exécution 424.

Le fichier est en pièce jointe avec la capture d'écran de l'erreur, si vous pouvez jeter un coup d’œil.

Merci à vous,
 

Pièces jointes

  • erreur d'exécution 424.PNG
    erreur d'exécution 424.PNG
    17 KB · Affichages: 20
Bonjour Tempus
Bonjour le Fil ,(Fanch55) ,le Forum
Ton problème vient du fait que tu n'as pas dans ta base de Données les entêtes de colonnes qui correspondent au Code Ex : pas de Colonne donc erreur sur [Bd[N°]].NumberFormat = "@"
Ville , Etc etc

Bonne journée
jean marie
 
- 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
940
Retour