Inversion du jour et du mois dans une date sous VBA

Bonjour à tous,

J'ai remarqué la chose suivante, j'ai une zone d'encodage de date et lorsque celle-ci est inférieure au 12 du mois par exemple le 04/03/2017 ma forme prend la date et la transfère dans une colonne mais pour une raison que j'ignore, elle la transpose en faisant 03/04/2017 or cela fausse ma zone qui extrait le mois et dès lors l'ensemble de mon fichier.

J'ai tout contrôlé au niveau Windows et également excel pour les paramètres régionaux, mais là je sèche.

Je mets mon fichier à disposition si quelqu'un à une idée je suis preneur.

J'ai testé 4-5 solutions et là je sèche lamentablement.....

Mon code sur le format est le suivant.

Et j'utilise ceci pour copier et coller

Dim marep As Long

Dim lignesuivante As Long

Sheets("feuil1").Activate

lignesuivante = Application.WorksheetFunction. _

CountA(Range("a:a")) + 1

Cells(lignesuivante, 1) = TextBox1.Text

Cells(lignesuivante, 2) = "Recettes"

Cells(lignesuivante, 3) = TextBox2.Text

Cells(lignesuivante, 4) = TextBox3.Text

Cells(lignesuivante, 5) = saisiedate.Value

Cells(lignesuivante, 6) = saisiedate2.Value

Cells(lignesuivante, 7) = TextBox4.Value

Cells(lignesuivante, 8) = "ESPECES"

lignesuivante = Application.WorksheetFunction. _

CountA(Range("a:a")) + 1

Cells(lignesuivante, 1) = TextBox1.Text

Cells(lignesuivante, 2) = "Recettes"

Cells(lignesuivante, 3) = TextBox2.Text

Cells(lignesuivante, 4) = TextBox3.Text

Cells(lignesuivante, 5) = saisiedate.Value

Cells(lignesuivante, 6) = saisiedate2.Value

Cells(lignesuivante, 7) = TextBox5.Value

Cells(lignesuivante, 8) = "CB"

Sheets("menu").Activate

marep = MsgBox("Cette facture est elle payée immediatement?", vbYesNo)

If marep = vbYes Then

Sheets("livre banque").Activate

lignesuivante = Application.WorksheetFunction. _

CountA(Range("a:a")) + 1

Cells(lignesuivante, 1) = TextBox1.Text

Cells(lignesuivante, 2) = "Recettes"

Cells(lignesuivante, 3) = TextBox2.Text

Cells(lignesuivante, 4) = TextBox3.Text

Cells(lignesuivante, 6) = TextBox4.Value

Cells(lignesuivante, 7) = "ESPECES"

lignesuivante = Application.WorksheetFunction. _

CountA(Range("a:a")) + 1

Cells(lignesuivante, 1) = TextBox1.Text

Cells(lignesuivante, 2) = "Recettes"

Cells(lignesuivante, 3) = TextBox2.Text

Cells(lignesuivante, 4) = TextBox3.Text

Cells(lignesuivante, 6) = TextBox5.Value

Cells(lignesuivante, 7) = "CB"

Sheets("feuil1").Select

Selection.AutoFilter Field:=2, Criteria1:="recettes"

Columns("A:H").Select

Selection.SpecialCells(xlCellTypeVisible).Select

Selection.Copy

Sheets("feuil2").Select

Range("A1").Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

Range("A2:H11796").Select

Application.CutCopyMode = False

Selection.Copy

Sheets("livre recettes").Select

Range("A6").Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

Sheets("feuil2").Select

Cells.Select

Application.CutCopyMode = False

Selection.ClearContents

Sheets("feuil1").Select

Selection.AutoFilter Field:=2, Criteria1:="achats"

Cells.Select

Selection.SpecialCells(xlCellTypeVisible).Select

Selection.Copy

Sheets("feuil2").Select

Range("A1").Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

Range("A2:H7330").Select

Application.CutCopyMode = False

Selection.Copy

Sheets("livre achats").Select

Range("A6").Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

Sheets("feuil1").Select

Selection.AutoFilter Field:=2

Range("A2").Select

Sheets("feuil2").Select

Cells.Select

Application.CutCopyMode = False

Selection.ClearContents

Sheets("menu").Select

Sheets("menu").Activate

Unload UserForm1

Else

Private Sub UserForm_Initialize()

TextBox1.Value = Format(Now, "dd/MM/yyyy")

End Sub

Bonjour et bienvenue sur le forum

Essaie en modifiant ainsi les instructions concernant les dates :

Cells(lignesuivante, 1) = CDate(TextBox1)
…
Cells(lignesuivante, 5) = CDate(saisiedate)
Cells(lignesuivante, 6) = CDate(saisiedate2)
…

Au lieu de :

Cells(lignesuivante, 1) = TextBox1.Text
...
Cells(lignesuivante, 5) = saisiedate.Value
Cells(lignesuivante, 6) = saisiedate2.Value
...

Bye !

Génial, c'est excellent et dire que j'ai séché comme une brelle....

Un super merci

Rechercher des sujets similaires à "inversion jour mois date vba"