Création d'un fichier d'import selon un format spécifique
Bonjour à vous tous,
J'ai besoin d'aide, je connais un peu la programmation mais pas vraiment le langage et la syntaxe VBA, j'apprends à l'aide de différent exemple que je peux trouver sur le net. Je comprends la lecture du code !
Je dois créer un fichier d'import pour un logiciel qui doit avoir un format et une disposition bien spécifique. Je vous met en exemple le fichier de base et ce à quoi il doit ressembler pour pouvoir être importer dans le logiciel. Il y a environ 400 articles et actuellement j'ai fais des copier/coller manuellement à en avoir des crampes aux doigts. Alors si une personnes bien attentionné pouvait m'aider j'en serais très reconnaissante car je dois faire cette opération tous les mois et si je pouvais avoir le code pour l'insérer dans une macro je gagnerai beaucoup de temps et sans compter que le risque d'erreur se réduit très fortement !
Un grand merci déjà à la personne qui voudrait bien m'aider
Bonjour,
voici un exemple,
pour transformer les kg gr en nombre
Sub transform_Kg()
For Each c In Sheets("Fichier de base").Range("A3:A" & Cells(Rows.Count, 1).End(xlUp).Row)
If Right(c, 2) = "kg" Then
c.Value = Format(Left(c, Len(c) - 3), "0.000") * 1
Else
c.Value = Format("0.0" & Left(c, Len(c) - 3), "0.000") * 1
End If
Next
End Subpour le transfert des données,
Sub Transfert()
Dim sh1 As Worksheet, article As Range, prix As Range, qte As Range
Set sh1 = Sheets("Fichier remodeler")
With Sheets("Fichier de base")
Set article = .Range("B2:" & .Cells(2, Columns.Count).End(xlToLeft).Address)
Set prix = .Range("B3:B" & .Cells(Rows.Count, 1).End(xlUp).Row)
Set qte = .Range("A3:A" & .Cells(Rows.Count, 1).End(xlUp).Row)
deb = 2
End With
For i = 1 To article.Columns.Count
sh1.Range(Cells(deb + 1, 2).Address, Cells(prix.Columns(i).Rows.Count + deb, 2).Address) = Application.MRound(prix.Columns(i).Value, 1)
sh1.Range(Cells(deb + 1, 1).Address, Cells(prix.Columns(i).Rows.Count + deb, 1).Address) = article(1, i).Value
sh1.Range(Cells(deb + 1, 3).Address, Cells(prix.Columns(i).Rows.Count + deb, 3).Address) = qte.Value
deb = sh1.Cells(Rows.Count, 1).End(xlUp).Row
Next
End Submais je ne connais pas les données Table de prix