XL 2019 Réorganiser un fichier avec une macro

Frankette

XLDnaute Nouveau
Bonjour Bonjour,

J'ai un fichier avec plusieurs colonnes de données que je souhaiterais réorganiser dans un nouvel onglet. Pour finir, ce fichier doit s'enregistrer au format CSV pour pouvoir être intégrer dans un logiciel de comptabilité.

J'ai réalisé l'enregistrement suivant mais il me manque la boucle. Je suis en train de faire les formation d'Excel Download mais je n'en suis pas encore là ^^, si vous pouviez me filer un petit coup de main je vous en serais très reconnaissant. Bonne journée :)

Sub Transforme_format_SageLigne100()
'
' Transforme_format_SageLigne100 Macro
' Passage de KOALA vers LIGNE 100 + Transfo CSV séparateur ;
'

'
ActiveCell.FormulaR1C1 = "='Base '!RC[1]"
Range("B2").Select
ActiveCell.FormulaR1C1 = "='Base '!RC[-1]"
Range("C2").Select
ActiveCell.FormulaR1C1 = "='Base '!RC"
Range("E2").Select
ActiveCell.FormulaR1C1 = "='Base '!RC[-1]"
Range("F2").Select
ActiveCell.FormulaR1C1 = "='Base '!RC[-1]"
Range("I2").Select
ActiveCell.FormulaR1C1 = "=IF('Base '!RC[-1]>0,""D"",""C"")"
Range("J2").Select
ActiveCell.FormulaR1C1 = "=IF('Base '!RC[-2]>0,'Base '!RC[-2],-'Base '!RC[-2])"
Range("A3").Select
End Sub
 

Pièces jointes

  • Passage SAGE100.xlsm
    16.6 KB · Affichages: 7
Solution
Just for the fun !
Ca fait la même chose:
VB:
Sub Transforme_format_SageLigne100()
' Transforme_format_SageLigne100 Macro
' Passage de KOALA vers LIGNE 100 + Transfo CSV séparateur ;
Taille = Sheets("Base ").Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To Taille
    Range("A" & i).FormulaR1C1 = "='Base '!RC[1]"
    Range("B" & i).FormulaR1C1 = "='Base '!RC[-1]"
    Range("C" & i).FormulaR1C1 = "='Base '!RC"
    Range("E" & i).FormulaR1C1 = "='Base '!RC[-1]"
    Range("F" & i).FormulaR1C1 = "='Base '!RC[-1]"
    Range("I" & i).FormulaR1C1 = "=IF('Base '!RC[-1]>0,""D"",""C"")"
    Range("J" & i).FormulaR1C1 = "=IF('Base '!RC[-2]>0,'Base '!RC[-2],-'Base '!RC[-2])"
Next i
End Sub

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Frankette,
Prenez l'habitude pour le code d'utiliser la balise </>, ça améliore grandement la lecture.
J'ai essayé de déduire ce que j'ai compris.
Je n'ai pas touché à votre code, juste "enrobé".
 

Pièces jointes

  • Copie de Passage SAGE100-2(V2).xlsm
    18.4 KB · Affichages: 2
Dernière édition:

Frankette

XLDnaute Nouveau
Bonjour Sylvanu,

Merci pour réponse si rapide et si claire. Je comprend parfaitement votre "enrobage" et la boucle. Ca marche parfaitement et m'inspire pour de nouveaux défis :).

Je prend bonne note de la balise et tâcherai d'y penser pour la prochaine fois.

Encore merci.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Just for the fun !
Ca fait la même chose:
VB:
Sub Transforme_format_SageLigne100()
' Transforme_format_SageLigne100 Macro
' Passage de KOALA vers LIGNE 100 + Transfo CSV séparateur ;
Taille = Sheets("Base ").Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To Taille
    Range("A" & i).FormulaR1C1 = "='Base '!RC[1]"
    Range("B" & i).FormulaR1C1 = "='Base '!RC[-1]"
    Range("C" & i).FormulaR1C1 = "='Base '!RC"
    Range("E" & i).FormulaR1C1 = "='Base '!RC[-1]"
    Range("F" & i).FormulaR1C1 = "='Base '!RC[-1]"
    Range("I" & i).FormulaR1C1 = "=IF('Base '!RC[-1]>0,""D"",""C"")"
    Range("J" & i).FormulaR1C1 = "=IF('Base '!RC[-2]>0,'Base '!RC[-2],-'Base '!RC[-2])"
Next i
End Sub
 

Discussions similaires

Réponses
7
Affichages
371
  • Question
Microsoft 365 Formules
Réponses
2
Affichages
419

Statistiques des forums

Discussions
312 169
Messages
2 085 909
Membres
103 031
dernier inscrit
Karmeliet69