Format dates to textbox

Bonjour

Le code fonctionne mais il y a un problème avec le format de la date Ici, la valeur est manquante Je dois commencer la date du début de l'année jusqu'à la fin de l'année pour que la valeur soit correcte Même après avoir fait ce code, cela ne fonctionnait toujours pas

StartDate=Cling(CDate(me Date_Str)) :LasttDate=Cling(CDate(me Date_End))

Est-ce que quelqu'un saurait m'aider SVP ?

Bonjour,

Essayez tout simplement ceci:

    StartDate = CDate(Date_str): LastDate = CDate(Date_End)

Cdlt

Salut Arturo83

Les valeurs ne sont pas correctes, le problème est toujours là

Pourtant :

mody

Qu'est-ce qui n'est pas bon ?

img20230425164828 img20230425164735

Voir la différence de valeurs, sachant que les dates de début et de fin sont exactes et que les valeurs entre elles sont différentes

Bonjour, aidez-moi s'il vous plaît avec ce problème de format de date

Bonjour,

Et si vous donniez quelques explications concernant les 2 images, peut-être que cela aiderait pour la compréhension du problème. Quel est le but à atteindre?

Cdlt

img

Voir userform1

img

Voir userform

Lorsque le filtrage sur les valeurs entre le 01-Apr-2023 et le 25-Apr-2023 dans le userform est inexact
Et lors du filtrage sur les valeurs entre les dates du 01-avril-2023 au 25-avril-2023 dans userform1, vous le trouverez précis

Le problème ici est dans le userform

Notez que le rapport provient de la même feuille

Bonsoir,

Le problème, c'est que votre tableau de valeurs comporte des colonnes qui ne doivent pas être prises en compte(Colonnes P, Z, AA, AC, AE) alors que vos numéros de textboxes suivent une numérotation continue augmentée de la valeur 7 , et évidemment, arrivée à la colonne 10 colonne qui dans le tableau devrait être la "Q", il y a un décalage qui se produit et se répercutera pour les autres colonnes, il vous faut revoir le système d'attribution des textboxes par rapport aux numéros de colonnes.

Cdlt

Edit:

J'ai renommé les textboxes et le code. Voici le résultat après modifications.

mody

le code modifié:

Private Sub CbnDateSum_Click()
    On Error Resume Next
    If DateValue(Me.Date_str.Value) > DateValue(Me.Date_End.Value) Then
        MsgBox "ÊÇÑíÎ ÇáÈÏÇíÉ ÇßÈÑ ãä ÇáäåÇíÉ", vbExclamation, "ÎØÇÁ ÅÏÎÇá ÇáÊÇÑíÎ"
        Me.Date_str.SetFocus
        Me.Date_str = Empty
        Exit Sub
    Else
        Sheet2.Activate
        Dim FirstDate As Date, StartDate As Date, LastDate As Date
        Dim FirstRow As Long, LastRow As Long, lRow As Long
        Dim i As Long, NbCol As Long
        Dim tot As Single
        With ActiveSheet
            FirstDate = .Range("b2")       '
            StartDate = CDate(Me.Date_str): LastDate = CDate(Me.Date_End)
            Dim DateStart As String
            Dim DateEnd As String
            FirstRow = 1 + StartDate - FirstDate + 1
            LastRow = 1 + LastDate - FirstDate + 1
            ' Pour chaque colonne
            For i = 7 To 32
                If i <> 16 And i <> 26 And i <> 27 And i <> 29 And i <> 31 Then
                ' Pour chaque ligne
                For lRow = FirstRow To LastRow
                    Application.StatusBar = "Calcul en cours pour : L" & lRow & "/C" & i
                    tot = tot + .Cells(lRow, i)
                Next lRow
                Me.Controls("TextBox" & 100 + i).Value = Format(tot, "#,##")
                tot = 0 ' Réinitialize
                End If
            Next i
        End With
    End If
End Sub

le fichier

Cdlt

bonjour,

si vous doublez le largeur de la colonne B et l'alignement en général, la moitié des données s'alignent à droite, donc sont de chiffres qui representent des dates et le reste s'alignent à gauche, donc sont des textes qui semblent à des dates, mais qui ne le sont pas.

Comment ajoutez-vous vos données ?

schermafbeelding 2023 04 27 211601

Bonjour

Le problème est que les chiffres sont complètement différents lorsque vous filtrez entre deux dates

Lors de la recherche de userfor1, vous constatez que les chiffres sont corrects, car il prend les données de la liste déroulante

Comme pour userform, lors du filtrage, les nombres sont incomplets

Par exemple, textbox107 a un résultat de zéro, il n'y a pas de valeur, mais il affiche la valeur ici comme 100, et ainsi de suite dans le reste de la zone de texte

Vous supposez qu'il y a exactement un donnée par jour à partir du "Firstdate" et cela est faux. Donc il faut chercher les lignes avec une date >=Startdate et <=Lastdate, mais pour cela on a besoin des "dates" et ne pas des textes.

    FirstDate = .Range("b2")
    NbCol = 18
    '
    StartDate = Me.Date_str: LastDate = Me.Date_End
    '
    FirstRow = 1 + StartDate - FirstDate + 1
    LastRow = 1 + LastDate - FirstDate + 1
    ' Pour chaque colonne
    For i = 0 To NbCol
      ' Pour chaqse ligne
      For lRow = FirstRow To LastRow
  

Bonsoir Lors de la recherche d'une valeur entre deux dates, par exemple 01/02/2023 pour 20/02/2023 Voici le format de date JJ/MM/AAAA Mais lorsque vous trouvez que la valeur n'est pas correcte car elle reflète la date à laquelle DD/MM/YYYY TO MM/DD/YYYY

Bonsoir Lors de la recherche d'une valeur entre deux dates, par exemple 01/02/2023 pour 20/02/2023 Voici le format de date JJ/MM/AAAA Mais lorsque vous trouvez que la valeur n'est pas correcte car elle reflète la date à depuis DD/MM/YYYY Pour MM/DD/YYYY

Rechercher des sujets similaires à "format dates textbox"