Formulaire saisie sous Excel

Sur PC et sur MAC

Faite un test en remplaçant les deux codes

1. Macro Trier_ID

Sub Trier_ID()
With ThisWorkbook.Worksheets("Saisie des Donnees").ListObjects("Tableau1").Sort
    .SortFields.Clear
    .SortFields.Add2 Key:=Range("Tableau1[ID]"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    .Header = xlYes
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
End With
End Sub

2. La macro Trier-Date

Sub Trier_Date()
With ThisWorkbook.Worksheets("Saisie des Donnees").ListObjects("Tableau1").Sort
    .SortFields.Clear
    .SortFields.Add2 Key:=Range("Tableau1[date]"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
    .SortFields.Add2 Key:=Range("Tableau1[ID]"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    .Header = xlYes
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
End With
End Sub

est-ce que je dois prendre le fichier que j'ai envoyé dernièrement pour effectuer ces changements ?

Faites toujours le test sur celui là ou sur le dernier posté par AFEH

Si ok on vous postera la version 20

Bonjour à tous,
Me revoilà avec la version 20 qui j'espère va convenir.
J'ai corrigé beaucoup de choses et amélioré les procédures surtout celle de la mise en couleur. Les couleurs ne sont plus liées à la couleur de police du client mais viennent aléatoirement.
Les tests sont à faire uniquement sur cette version.
Dan et moi attendons le résultat des tests.
Cdt
Henri

Bonjour Dan et Henri, j'ai testé plusieurs clients "simple livraison".... les couleurs se mettent très bien en forme. Par contre, lorsque je saisis des montants avec virgules, j'ai un bug. je joins un PS.

2020 10 19 12 12 35 lulu1234 18 afeh afeh dan excel

Je veux faire une modification. Séquence R0000008, montant total initial à 100.00. Modification que je veux apporter : 90.00. Voir PS

2020 10 21 13 55 11 window

3ème problème que je vois ce sont les couleurs. Elles sont trop foncées pour certaines.

2020 10 21 13 59 23 window

après bien bien des tests voilà ce que je remarque :

en saisie simple, 1 livraison, 1 ou plusieurs justificatif (s), 1 montant, tout est OK pour autant que les montants n'aient pas de décimal. Par contre en modification, le programme bug

en saisie multiclients, je peux saisir autant de livraisons que je veux (toujours pour autant toujours que ce soit des montants sans décimales), Et idem que ci-dessus, en modification, ca bug.

Bonjour

Ce n'est pas possible tout de même !

Pourquoi 3 messages(un message toutes les 3 minutes !) alors que vous pouviez mettre tout dans un seul ? Ce n'est pas la première fois que je vous le signale qui plus est, à chaque reprise vous postez des photos qui n'apportent rien précis à votre demande. Désolé mais si vous persistez, je verrouillerai le fil et votre participation sur le forum sera mise en cause.

messages "erreur d'exécution" à quel endroit du code ???? (là aussi on vous a déjà demandé précédemment !). Et ne répondez pas avec une photo donnez la ligne et le nom de la macro en tout en un seul message

Bonjour toutes et tous

et Félicitations à toutes et tous de ce fil de discussion ^^^

j'ai vu un post fil de discussion d'Archer ou le problème peut venir du point de la textbox: voici ci-dessous

note : remplacer Textbox1 par le nom de la textbox de l'image ci-dessus (Montant total ==> 90.00)

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'TRANSFORMER LE POINT PAR UNE VIRGULE
 If KeyAscii = 46 Then KeyAscii = 44
'ACCEPTER UNIQUEMENT UNE SEULE VIRGULE ET LES CHIFFRES ENTRE 0 ET 9
If InStr("1234567890,", Chr(KeyAscii)) = 0 Or TextBox1.SelStart > 0 And Chr(KeyAscii) = "-" _
    Or InStr(TextBox1.Value, ",") <> 0 And Chr(KeyAscii) = "," Then KeyAscii = 0: Beep
End Sub

ou au plus simple: (toujours le fil d'Archer merci à lui)

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    TextBox1.Value = Round(CDbl(TextBox1.Value), 2)
End Sub

si cela a pu t'aider

crdlt,

André

j'ai vu un post fil de discussion d'Archer ou le problème peut venir du point de la textbox: voici ci-dessous

Il y a un problème résiduel avec excel à mon sens, c'est que les onglets ont été adaptés aux "couleurs" locales (dates, marque des décimales etc.), mais ni le code, ni les usf qui sont figées dans un format ricain (et en texte), et cela explique bon nombre de sujets. Et vous avez déjà tous compris que parfois je propose de remplacer un usf par un onglet qui bénéficie d ces adaptations locales (qui plus est devient alors compatible mac/win).

Voilà, c'était mon grain de sel du jour. Ou mon poil à gratter, veuillez alors m'excuser pour cette interruption de l'écran, du fil de discussion très riche, très très riche.

Bonsoir,
Juste une petite modification concernant les couleurs. Je n'ai gardé que celles qui sont claires.
Le souci des . et , a déjà été traité il me semble par Dan.
Désolé, mais je ne peux pas aider davantage.
Henri

merci, mais vous n'avez pas répondu au problème des montants avec décimales. Pourquoi ??? Je peux comprendre que cela énverve bcp de gens que je reposte avec des PS des résultats obtenus lorsque je fais des tests. Mais comment faire autrement ? Je vous le demande. Et quoique vous pensez, si j'ai fait appel à ce forum, c'est bien parce que j'ai des demandes particulières et que dans les conventions XL, il n'existe pas de solutions clé en main. ALors je veux bien prendre sur moi, le fait qu'on me traîte de Père Noël, etc.... mais si j'avais les connaissances, croyez-moi bien que je me passerai de passer par des forums tel que celui-ci. ABE.... Toutefois, je tiens à remercier <Henri et Dan pour tous leurs efforts respectifs pour mener à bien ce projet.

voir PS, essai sur mac

capture d e cran 2020 10 21 a 22 02 01

Recopiez ce code à la place de celui qui est en défaut

Sub Gestion_Couleurs()
Application.ScreenUpdating = False
    Dim No_Couleur As Integer, ligne As Integer
   With Sheets("Accueil")
        No_Couleur = .Range("A1").Value
            If No_Couleur = 50 Then
                No_Couleur = .Range("A2").Value
                .Range("A1") = No_Couleur
                .Range("No_Couleur").Interior.ColorIndex = .Range("No_couleur")
            Else
            .Columns("A:A").EntireColumn.Hidden = False
                ligne = .Range("A2:A28").Find(No_Couleur, LookIn:=xlValues, lookat:=xlWhole).Row
                No_Couleur = .Range("A" & ligne + 1)
                .Range("A1") = No_Couleur
                .Range("No_Couleur").Interior.ColorIndex = Range("No_couleur")
             End If
            .Columns("A:A").EntireColumn.Hidden = True

   End With
End Sub

Pour le reste, je ne sais pas, désolé!!
Henri

1) bug en modification lors d'une saisie existante :

Commandbutton1 : bug sur .Range E

If Application.OperatingSystem Like "Win*" Then 'cas pour windows
            If TextBox12 <> "" Then
                .Range("E" & ligne) = CDbl(Application.WorksheetFunction.Substitute(TextBox12.Value, ".", ",")

+

 If Application.OperatingSystem Like "Win*" Then 'cas pour windows
            If TextBox12 <> "" Then
                .Range("E" & ligne) = CDbl(Application.WorksheetFunction.Substitute(TextBox12.Value, ".", ","))
            Else
                .Range("E" & ligne) = ""
            End If
            If TextBox13 <> "" Then
                .Range("F" & ligne) = CDbl(Application.WorksheetFunction.Substitute(TextBox13.Value, ".", ","))

bug sur Range F, lors d'une modification existante

3)

Bonjour,

C'est tout de même curieux ces bugs car rien n'a été modifié et on n'avait pas cela avant....

Quelle est la valeur attribué à Ligne lorsque le code s''arrête ? Pour le savoir, vous pouvez passer la souris sur le mot Ligne. Vous devriez voir une valeur

.Range ("E"& ligne) = 100 et TextBox12. Value, "100.00"

Heu quand vous dites un bug, le code s'arrête ou pas ?

Là comme je comprends votre dernier message c'est juste la valeur qui n'est pas bonne en colonne E

Une question : Une fois que vous avez encodé, le format de la cellule en colonne E de la feuille est bien sur monétaire ?

Rechercher des sujets similaires à "formulaire saisie"