XL 2010 Une macro pouvant insérer des lignes et copier coller des données...

MarionGui

XLDnaute Nouveau
Bonjour à tous,

Je cherche à automatiser un fichier de notes de frais qu'un de nos clients nous envoie chaque mois, et que nous devons rentrer dans la compta (je suis notamment un support des comptables concernant l'intégration des données clients dans notre logiciel comptable).

Mes compétences en macro se limitent globalement à l'enregistrement automatique, et à la relecture/modification éventuelle, et là cela ne suffira pas !

Je vous joins quelques lignes d'un de ces fichiers en PJ, avec à gauche l'état du fichier à ce jour et à droite ce vers quoi on veut arriver (à la main actuellement).
J'ai détaillé ce que j'aimerais pouvoir automatiser dans le fichier.

Le gros du problème réside dans le fait qu'il y a aujourd'hui une ligne de frais avec 3 colonnes Montant total TTC / montant HT / montant de la TVA, et que nous devons mettre ces montants là les uns en dessous des autres et non pas côte à côte pour leur intégration. Mais un TCD ou une transposition ne peuvent fonctionner car s'il n'y a pas de TVA remboursable on insère que deux lignes, s'il y en a alors trois lignes, etc... Et surtout le montant de la TVA s'il y en a un doit être en dessous du montant HT, et le montant TTC lui doit être sur la colonne suivante sur la ligne du dessus (Débit/Crédit)...
Cela dépasse donc mes compétences ! Je ne sais pas si c'est très clair, le fichier le sera certainement plus.

Je vous remercie pour toute l'aide que vous pourrez m'apporter, même si on ne peut automatiser qu'une partie du tout ce sera déjà ça de gagné en temps de traitement manuel !

Merci et bonne fin de semaine à tous.

Marion
 

Pièces jointes

  • test.xlsx
    13.4 KB · Affichages: 10

Staple1600

XLDnaute Barbatruc
Bonjour le fil, Marion

Marion (Bienvenue sur le forum)
Une première macro (pour ce qui est de l'insertion de ligne vide)
VB:
Sub Insere_LigVid()
Dim i&
For i = ActiveSheet.UsedRange.Rows.Count To 2 Step -1
If Cells(i, 2).Value <> Cells(i - 1, 2).Value Then
Rows(i).Insert Shift:=xlDown
End If
Next
End Sub
 

MarionGui

XLDnaute Nouveau
Bonjour JM,

Merci pour votre retour rapide ! Cela insère en effet 1 ligne après chaque ligne ayant du contenu. Cela n'insère pas 2 lignes lorsque la cellule de la colonne F n'est pas vide mais cela va déjà nous faire gagner du temps, et je vais chercher comment continuer la macro.

Merci encore :)

Bonne semaine,
Marion
 

Midjan

XLDnaute Nouveau
Bonjour tout le monde !

Désole de débarquer sur le ce fil mais j'ai un petit soucis avec une modification de Macro , soyez indulgent je suis a l’étape de l'enregistrement de Macro :) .
Ci-joint le fichier en question , mon problème est que je voudrais Copier/insérer entre la ligne 7 et 8 de la feuille Analysis la ligne 7 autant de fois que le nombre de la cellule A2 sur la feuille Data l'Exige.

Je rame dans les Rows..Range et cie !

Merci pour votre aide!

Midjan
 

Pièces jointes

  • Test.xlsm
    527.6 KB · Affichages: 6

Discussions similaires

Réponses
11
Affichages
514
Réponses
4
Affichages
291