Bonjour à tous,
J'ai créé un fichier pour mon entreprise afin d'avoir une traçabilité sur les pièces relancés. J'ai donc un formulaire qui une fois validé, enregistre les données dans un tableaux. Lorsqu'on est dans ce tableau, on a la possibilité de créer une fiche de relance (fiche suiveuse) en automatique en choisissant les pièces que l'on veut relancer. Lorsqu'on valide les relances, 2 choses se créé :
- Fiches de relance (en fonction des matière, épaisseur et coloris).
- un fichier CSV composé d'uniquement les pièces relancés avec les infos importantes les concernant vient s'enregistrer sur le serveur.
Mon soucie, c'est que lorsque je génère ce fichier CSV, mes chiffres se générent avec des virgules (comme dans la base de donnée) et je souhaiterai les transformer en point.
Si vous pouvez éclairer ma lanterne, je vous laisse mon code :
Les colonnes concernées sont celle des longueur, largeur, épaisseur.
Cordialement,
Grouchet
J'ai créé un fichier pour mon entreprise afin d'avoir une traçabilité sur les pièces relancés. J'ai donc un formulaire qui une fois validé, enregistre les données dans un tableaux. Lorsqu'on est dans ce tableau, on a la possibilité de créer une fiche de relance (fiche suiveuse) en automatique en choisissant les pièces que l'on veut relancer. Lorsqu'on valide les relances, 2 choses se créé :
- Fiches de relance (en fonction des matière, épaisseur et coloris).
- un fichier CSV composé d'uniquement les pièces relancés avec les infos importantes les concernant vient s'enregistrer sur le serveur.
Mon soucie, c'est que lorsque je génère ce fichier CSV, mes chiffres se générent avec des virgules (comme dans la base de donnée) et je souhaiterai les transformer en point.
Si vous pouvez éclairer ma lanterne, je vous laisse mon code :
VB:
Sub CSV()
Dim cel As Range
Dim LigBateauUrg As Integer
Dim ShFr As Worksheet
Dim i As Byte, j As Byte, k As Byte, sh As Byte
Dim ref As String
Call Trier
Application.ScreenUpdating = False
Set ShFr = Worksheets("CSV")
k = 1
For sh = 1 To Sheets.Count
If Left(Sheets(sh).Name, 8) = "FR" & "_" & Format(Day(Date), "00") & "-" & Format(Month(Date), "00") Then k = k + 1
Next sh
With Worksheets("BDD")
For Each cel In .ListObjects("T_Bdd").ListColumns(19).DataBodyRange
Select Case cel.Value
Case Is = "": Exit For
Case Is = "Oui"
If cel.Interior.ColorIndex <> 3 Then
If cel.Value = "Oui" Then
Sheets("CSV").Copy after:=Sheets(Sheets.Count)
Set ShFr = ActiveSheet
ShFr.Name = "REBUS" & "_" & Format(Day(Date), "00") & "-" & Format(Month(Date), "00") & "_" & k
k = k + 1
i = 3
j = 2
ShFr.Range("A" & j) = cel.Offset(0, -11) 'Design
ShFr.Range("B" & j) = cel.Offset(0, -7) 'long
ShFr.Range("C" & j) = cel.Offset(0, -6) 'larg
ShFr.Range("D" & j) = cel.Offset(0, -8) 'ep
ShFr.Range("E" & j) = cel.Offset(0, -9) 'matière
ShFr.Range("F" & j) = cel.Offset(0, 5) 'sdf
ShFr.Range("G" & j) = cel.Offset(0, -4) 'commentaire
ShFr.Range("H" & j) = cel.Offset(0, 6) 'chant1
ShFr.Range("I" & j) = cel.Offset(0, 7) 'Chant2
ShFr.Range("J" & j) = cel.Offset(0, 8) 'Chant3
ShFr.Range("K" & j) = cel.Offset(0, 9) 'chant4
ShFr.Range("L" & j) = cel.Offset(0, 5) 'Meuble
ShFr.Range("M" & j) = cel.Offset(0, 10) 'repère
ShFr.Range("N" & j) = cel.Offset(0, 4) 'Option
ShFr.Range("O" & j) = cel.Offset(0, -15) 'modèle bateau
ShFr.Range("P" & j) = cel.Offset(0, -16) 'num bateau
ShFr.Range("Q" & j) = cel.Offset(0, -10) 'Qté
j = j + 1
End If
End If
End Select
'ref = ""
Next cel
.Range("T_BDD").Sort Key1:=Range("T_BDD[Date]"), Header:=xlYes, Order1:=xlAscending 'tri pour remettre BDD par date
End With
Application.ScreenUpdating = True
End Sub
Les colonnes concernées sont celle des longueur, largeur, épaisseur.
Cordialement,
Grouchet