Exporter une ligne sur plusieurs
Bonjour à tous,
je suis en train de m'arracher les cheveux puisque pour le boulot je dois transformer une feuille récapitulative de commandes et un fichier exportable dans mon logiciel de compta.
dans le premier fichier dont je dispose les éléments m'arrivent sous cette forme:
NomPrenom | TVA5.5% | TVA20% | CA HT | CA TTC | Date
et pour que ce fichier soit utilisable dans ma compta je dois répartir ces infos sur 4 lignes (pour chaque commandes), en reprenant les infos du premier fichier et :
- en ajoutant la date au début des 4 lignes
- en inscrivant la mention "VE" sur chaque ligne de la colonne B, de la manière suivante
- Dans la Colonne 3 doivent apparaitre le nom, puis les numéros de comptes
- en dernière colonne se sont les montants (ttc, ht et de tva)
j'arrive bien a envoyer les fichier d'un fichier à l'autre, dans les bonnes cases, mais le problème c'est lorsque je passe à la commande suivante, mon code actuel remplace les données déjà inscrite sur le fichier de la compta.
Aidez moi à aller à la ligne suivante s'il vous plait..... !!!
Je vous joint le fichier et voici le code:
Sub exporter_compta()
Dim Rg1 As Range, Rg2 As Range, cell1 As Range, Cell2 As Range
Dim Classeur_1 As Workbook, Classeur_2 As Workbook
Dim derligne As Double
Set Classeur_1 = ThisWorkbook
Set Rg1 = Classeur_1.ActiveSheet.Range("A2:A" & Range("A65000").End(xlUp).Row)
Workbooks.Add
Application.Dialogs(xlDialogSaveAs).Show ("export " & Format(Date, "dd.mm.yy") & ".xlsx")
Set Classeur_2 = Workbooks("export " & Format(Date, "dd.mm.yy") & ".xlsx")
Set Rg2 = Classeur_2.ActiveSheet.Range("A1:A" & Range("A65000").End(xlUp).Row)
Dim Noms
Dim TVA55
Dim TVA20
Dim HT
Dim TTC
Dim DateCmd
Dim ligne, ligne2
For Each cell1 In Rg1
Classeur_2.Sheets("Feuil1").Activate
derligne = Sheets("Feuil1").Range("A65536").End(xlUp).Row + 1
Range("A" & derligne).Value = ""
Set Cell2 = ActiveCell
' ecrire "VE"
Cell2.Offset(0, 1).Value = "VE"
Cell2.Offset(1, 1).Value = "VE"
Cell2.Offset(2, 1).Value = "VE"
Cell2.Offset(3, 1).Value = "VE"
' ecrire les numeros de comptes
Cell2.Offset(1, 2).Value = "701055800"
Cell2.Offset(2, 2).Value = "445712000"
Cell2.Offset(3, 2).Value = "445711000"
'ecrire les noms
Cell2.Offset(0, 2) = cell1
'TVA55
Cell2.Offset(2, 3) = cell1.Offset(0, 2)
'TVA20
Cell2.Offset(3, 3) = cell1.Offset(0, 4)
'HT
Cell2.Offset(1, 3) = cell1.Offset(0, 5)
'TTC
Cell2.Offset(0, 3) = cell1.Offset(0, 6)
'DateCmd
Cell2.Offset(0, 0) = cell1.Offset(0, 7)
Cell2.Offset(1, 0) = cell1.Offset(0, 7)
Cell2.Offset(2, 0) = cell1.Offset(0, 7)
Cell2.Offset(3, 0) = cell1.Offset(0, 7)
Next
End SubMerci de votre aide
Bonjour
Tu écris :
- Dans la Colonne 3 doivent apparaitre le nom, puis les numéros de comptes
Mais ces numéros de compte ne figurent pas sur le document source "fichier commandes.xlsm"
Par ailleurs, il serait bon que l'exemple donné sur le fichier "ce que ca doit donner.xlsx" corresponde à des données du fichier source.
A te relire.
Bye !
Merci pour ta réponse gmb, effectivement j'ai été un peu trop vite pour envoyer les fichiers.
Les voici donc à nouveau et plus "clairs" je l'espere.
Les numéros de comptes ne sont pas dans le fichier source, ils sont dans le code:
' ecrire les numeros de comptes
Cell2.Offset(1, 2).Value = "701055800"
Cell2.Offset(2, 2).Value = "445712000"
Cell2.Offset(3, 2).Value = "445711000"
Merci gmd c'est parfait.
Je vais étudier ça de plus près pour voir ou ça coinçait.
Merci encore
A bientot