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
374
  • Question
Microsoft 365 Formules
Réponses
2
Affichages
424

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 206
Messages
2 086 219
Membres
103 158
dernier inscrit
laufin