Insertion de lignes avec calcul automatique

yohannpau

XLDnaute Nouveau
Bonjour,

Je souhaite automatiser un tableau de récapitulatif de ventes que je recois d'un de mes clients afin de l'insérer dans la compatbilité.
Je souhaiterai que pour chaque ligne existante il se crée 2 lignes supplémentaires avec pour chacune d'elle le calcul du montant HT et de la TVA en fonction du prix qu'il est indiqué dans la ligne initiale. Si il était possible pour chaque ligne crée de reprendre le numero de commande, la date et le nom automatiquement ca serait parfait.

Je vous joins le fichier original afin que vous puissiez mieux comprendre mon besoin. Un exemple de ce que j'aimerai faire se situe juste en dessous.

Je vous remercie pour votre aide car mes connaissance en VBA sont plus que limités et je perds un temps fou à tout faire à la main.

Merci d'avance pour vos réponses
 

Pièces jointes

  • Test compta .xlsx
    11.2 KB · Affichages: 90

Dranreb

XLDnaute Barbatruc
Re : Insertion de lignes avec calcul automatique

Bonjour.
Je ne saisi pas très bien le besoin. Des formules un peu plus généralisées dans une autre feuille ne feraient elles pas l'affaire ?
Quitte à importer le tableau de votre client dans une feuille support de donnée brute...
À +
 

yohannpau

XLDnaute Nouveau
Re : Insertion de lignes avec calcul automatique

Je ne sais pas du tout quel est le moyen le plus facile pour réaliser le tableau.
Pour l'instant j'essayais avec beaucoup de macros différentes d'automatiser tous les calculs, mais je n'arrive pas à les effectuer toutes en meme temps sur l'intégralité du tableau.
Le fait est que je recois environ 500 lignes par jour à traiter et que je voudrais que tout se fasse grace à une macro.
Je ne sais pas si je suis assez clair...
 

Dranreb

XLDnaute Barbatruc
Re : Insertion de lignes avec calcul automatique

Oui, à peu près, mais est-il nécessaire de transformer le fichier source de votre client ? L’automatisation pourrait porter sur l'importation de ses données vers le classeur portant la macro dans une feuille destinée à les accueillir, de laquelle dépendrait le résultat obtenu dans une autre feuille à l'aide de formules. L'avantage que j'y verrais ce serait de ne pas avoir à retoucher le code si les valeurs constantes qui ne figurent pas dans ses données venaient à changer. Ou plus généralement la maîtrise de la remise en forme hors VBA et de façon visiellement controlable. Voyez vous ce que je veux dire ?
On pourrait très bien sauvegarder une copie sans formule de la feuille résultat vers un nouveau classeur destiné, lui, à être injecté dans la comptabilité.
À +
 
Dernière édition:

yohannpau

XLDnaute Nouveau
Re : Insertion de lignes avec calcul automatique

Oui je pense comprendre et effectivement cela pourrait surement marcher. Cela serait même plus pratique car je ne pense pas pouvoir intégrer dans mon erp un fichier excel avec macros
 

Dranreb

XLDnaute Barbatruc
Re : Insertion de lignes avec calcul automatique

Bien.
Je reste à votre disposition si vous en avez besoin pour vous aider à établir les formules, qui devraient contenir beaucoup de =DECALER(CelluleDépart;(LIGNE()+qqch)/3;0)
et optimiser la macro qui importera et créera la copie injectable, dont vous pouvez créer le brouillon à l'aide de l'enregistreur de macro.
Cordialement
 

snowmarc

XLDnaute Nouveau
Re : Insertion de lignes avec calcul automatique

Bonjour,

je suis novice en la matiere et j'ai besoin de votre aide
j ai trouve une formule qui me permet d'insérer automatiquement une nouvelle ligne sur mon tableau dés que j'arrive juste avant ma cellule que j'ai renommé "CelluleApresTableau".

ex: A / b / c
1 A1
2 A2
3 A3
4 Celluleaprestableau

Dés que j'arrive a A3 il insère une nouvelle ligne.
Cela me va bien sauf que je voudrai qu'il conserve les formules existante (rechercheV, somme,.....)

Voici la formule

Private Sub Worksheet_Change(ByVal Target As Range)
' teste si la cellule juste au dessus est remplie
If Range("CelluleApresTableau").Offset(-1) <> "" Then
' ajoute une ligne - la ligne s'insère au dessus
Application.EnableEvents = False ' pour ne pas se mordre la queue
Range("CelluleApresTableau").EntireRow.Insert xlShiftDown
Application.EnableEvents = True
End If
End Sub

merci de m'aider à trouver une solution.
 

Discussions similaires

Statistiques des forums

Discussions
312 111
Messages
2 085 395
Membres
102 882
dernier inscrit
Sultan94