Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

VBA: copier et multiplier des données historiques

  • Initiateur de la discussion Initiateur de la discussion Lephok
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

L

Lephok

Guest
Bonjour à tous,

Débutant encore dans l'utilisation des macros, je n'ai pas le niveau pour trouver seul la solution à ma requête
Je compte donc sur votre générosité pour me sortir de ce dilemne.

Je souhaite mettre à jour un fichier comparant des données d'une année N en une année N-1.
A la fin de l'année N, je veux mettre à jour automatiquement mon fichier pour placer les données N en N-1
et réutiliser mon fichier en N+1.

Pas de problème pour créer une macro qui vient coller les données en N en N-1 lorsque celles ci ne changent pas.

Seulement là je veux décomposer les valeurs N d'une ligne sur deux lignes distinctes en N-1
en fonction d'un taux préablament défini et indiqué dans l'onglet "Taux"

Voici le fichier modèle sur lequel il faudrait appliquer cette macro.
Regarde la pièce jointe Test.xlsx

Merci d'avance pour votre aide cher contributeurs
 

Pièces jointes

Re : VBA: copier et multiplier des données historiques

Bonjour,

Vu que ton tableau est déjà construit, il te suffit plus que de faire un copier coller special valeur..

avec l'enregistreur de macro ca donne:

Code:
Range("B29:M41").Select
    Selection.Copy
    Range("B4").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False

et tu gardes le tableau du bas pour tes calculs..

sinon. (et je sens que c'est ce que tu vas demander), il faut commencer par faire les calculs directement dans le tableau en haut à gauche (= mettre les formules) et une fois que le tableau est terminé, faire ce fameux copier coller special valeur
 
Re : VBA: copier et multiplier des données historiques

Merci vgendron,

effectivement mettre les formules initialement dans mon tableau est une solution
mais dans ce cas, le fichier n'est pas réutilisable l'année suivante puisque les formules auront disparues.

De plus le fichier du bas dans mon fichier test n'est qu'une image de ce que je voudrais avoir dans le tableau du haut, il n'existe pas dans mon fichier source.

En fait je voudrais que ma macro gère les calculs avant de copier les valeurs
 
Re : VBA: copier et multiplier des données historiques

avec ce que tu vas demander par la suite ;-)
Code:
Sub Maj()

'création de la formule
formule = "=(O4*(1+(DECALER(Taux!$A$3;EQUIV($A4;Taux!$A$4:$A$7;0);1))))"
'application de la formule dans la première ligne
Range("B4:M4").FormulaLocal = formule

'recopie en lignes 3 5 et 6
Range("B4:M4").Copy Destination:=Range("B8")
Range("B4:M4").Copy Destination:=Range("B12")
Range("B4:M4").Copy Destination:=Range("B14")
    

'création de la seconde formule
formule2 = "=O4-B4"
'application de la formule dans la ligne2
Range("B6:M6").FormulaLocal = formule2
'recopie en ligne 4
Range("B6:M6").Copy Destination:=Range("B10")

'pour la ligne 7
formule3 = "=(O12-B12)+(O14-B14)"
Range("B16:M16").FormulaLocal = formule3


'copier coller valeur de tout le tableau


Range("B4:M16").Select
    Selection.Copy
    Range("B4").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False

End Sub

à noter.. la formule que tu utilises en ligne 3 5 et 6 n'est pas la meme que pour la ligne 1.. (val*(1+taux) devient (va*taux)
j'ai considéré que c'était une erreur...??
 
Re : VBA: copier et multiplier des données historiques

Merci beaucoup Vgendron!! Cela répond parfaitement à ma demande.
Merci aussi pour la correction de l'erreur, tu as bien fait de modifier!!

Super ce forum
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
725
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…