Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
Bonsoir fanch55,

Merci pour les modifications, cela fonctionne parfaitement et, cela permet maintenant de modifier ou de supprimer une ligne après la recherche par multicolonne, c'est vraiment bien vu.

Bonne soirée.
 

ChTi160

XLDnaute Barbatruc
Bonjour Tempus
bonjour le Fil (fanc55) que je salue ,le Forum
bien que résolu une autre approche dans la gestion des numéros de ligne (pas de colonne sup)et des formats lol
bonne journée
jean marie
 

Pièces jointes

  • tempusv Chti160.xlsm
    58.1 KB · Affichages: 8

Tempus

XLDnaute Junior
Bonjour Chti160,

Merci pour cette nouvelle approche, après l'avoir testé, elle fonctionne parfaitement,et je n'ai pas de colonne en plus.

Pouvez-vous m'indiquer les modifications que vous avez apporter au code.

Encore merci,
 

ChTi160

XLDnaute Barbatruc
Re
Pour ce qui est des formats j'ai créé un Array qui contient les formats.
Pour les lignes je les ajoute a la listbox au fur et a mesure de son chargement ligne par ligne.
Regarde le code du chargement de la listbox
Jean marie
 

fanch55

XLDnaute Barbatruc
Re
Pour ce qui est des formats j'ai créé un Array qui contient les formats.
Pour les lignes je les ajoute a la listbox au fur et a mesure de son chargement ligne par ligne.
Regarde le code du chargement de la listbox
Jean marie
Salut @ChTi160 ,

Bien, effectivement cela fonctionne s'il n'y a aucun filtre actif, or il semblerait que @Tempus a prévu de pouvoir filtrer sur une plage de date

La version ci-jointe est celle de Chti en ayant modifié la méthode de chargement et de référencement de ligne. Elle permet également d'avoir d'autres lignes éventuelles au-dessus de la table de données.
(Je ne dis pas Table structurée, cela aurait été plus simple)
 

Pièces jointes

  • tempus Chti160 F55.xlsm
    65.5 KB · Affichages: 5

Tempus

XLDnaute Junior
Re fanch55,

J'ai un décalage vers le bas avec les Textbox 1, 9 et 10 dans la Listbox lorsque je fais une recherche"CommandButton7" avec les Label 1, 3 et 4", ils sont nommés date , 1 et 2 dans l'Userform".

la capture d'écran est en pièce jointe.

Merci encore pour votre aide
 

Pièces jointes

  • Recherche avec les 3 textbox date, 1 et 2- décaler vers le bas dans listbox.PNG
    18 KB · Affichages: 21
Dernière édition:

Tempus

XLDnaute Junior
je pense qu'il faut adapter l'affichage du résultat de la recherche dans la Listbox aux 2 lignes de décalage de la feuille Excel.

je vais un peu chercher sur le net comment adapter/régler l'affichage dans les Listbox.

Votre aide a fait avancer mon projet grandement.

Un grand merci.

Passez une bonne soirée.
 

Tempus

XLDnaute Junior
Bonjour Chti160,

Super merci, l'affichage de la recherche dans la listbox est de nouveau bien placé.

Peut-on modifier le code afin qu'une erreur ne soit pas générer si on tape une majuscule à la place d'une minuscule ou vice versa avec le bouton rechercher.

Le fichier est en pièce jointe.
 

Pièces jointes

  • tempus Chti160 F55-2.xlsm
    65.2 KB · Affichages: 4

ChTi160

XLDnaute Barbatruc
Re
Dans le fichier joint je ne constate pas d'erreur????
tu peux aussi faire la comparaison en majuscule
VB:
Ucase(StrCompare) Like Ucase(StrSearch)
explique nous !
jean marie
 
Dernière édition:

Tempus

XLDnaute Junior
Re,

Voici une capture d’écran qui explique mes propos.

Si avec le bouton recherche on saisi g325 en minuscule alors que le numéro est G325 en majuscule cela génère une erreur d’exécution.
 

Pièces jointes

  • erreur d'execution si minuscule àla place de majuscule.PNG
    23.9 KB · Affichages: 18

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…