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

XL 2013 Incrémentation avec copie du cumul

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 !

BoixosNois

XLDnaute Nouveau
Bonjour à tous et à toutes,

dans le fichier ci-attaché j'ai un code dans la feuille ECHEANCIER-01 qui me permet en cliquant sur le bouton Ajouter echeancier d'incrémenter les onglets

ce que je désire faire c'est en passant de echeancier-01 à echeancier-02 et en saisissant un pourcentage dans la colonne (P), le code copie les données remplisses dans la sélection K15:N39 vers U15:X39 et vider la sélection K:15:N39....(même chose en passant de echeancier-02 à echeancier-03), comme dans le fichier ci-joint




Merci d'avance
 

Pièces jointes

Bonjour
Ne pourriez vous installer des FormulaR1C1 pour ça ?
Mettez déjà à la main des formules simples genre "='ECHEANCIER-01'!K15" et rejoignez le classeur.

Ça pourrait donner queque chose de ce genre :
VB:
Sub ECHEANCIER()
Dim FSrc As Worksheet, FCbl As Worksheet
Set FSrc = Worksheets(Worksheets.Count)
FSrc.Copy After:=FSrc
Set FCbl = Worksheets(Worksheets.Count)
FCbl.Name = "ECHEANCIER-" & Format(Right$(FSrc.Name, 2) + 1, "00")
FCbl.[U15:X39].FormulaR1C1 = "='" & FSrc.Name & "'!RC[-5]"
FCbl.[Q15:R39].FormulaR1C1 = "=RC[5]+ROUNDUP(RC16*RC[-11],2)" ' (?)
FCbl.[P15:P39].Value = Empty
End Sub
Mais je ne comprends pas bien pourquoi Q15:R39 ne contiennent pas des additions de V15:W39 et quelque chose…
 
Dernière édition:
Merci Beaucoup Dranreb,
c'est exactement ce que je voulais sauf que je ne veux pas enlever le pourcentage que je mettais dans la colonne P ca ne devrait pas disparaître quand je fais l'incrémentation par contre il doit disparaitre de la colonne K car quand je fais l'incrémentation le pourcentage apparait dans la colonne k et disparaît de la colonne P et c'est le contraire que je désire avoir

pour ce qui concerne les formules je n'ai pas su le faire avec
 
Dernière édition:
Alors supprimez l'instruction FCbl.[P15: P39].Value = Empty
Pourquoi travaillez vous sur le nouveau cumul ?
Ça me paraitrait plus simple de travailler sur la situation mois et d'obtenir le nouveau cumul par addition de celle ci à l'ancien cumul.
 
Bonsoir
C'est une bonne idée de travailler sur la situation mois mais je ne sais pas comment faire
Qu'est ce que je dois changer dans votre code??

(en supprimant l'instruction que vous avez cité dans le dernier post j'ai pas eu le résultat)
 
Je dirais comme ça :
VB:
Sub ECHEANCIER()
Dim FSrc As Worksheet, FCbl As Worksheet
Set FSrc = Worksheets(Worksheets.Count)
FSrc.Copy After:=FSrc
Set FCbl = Worksheets(Worksheets.Count)
FCbl.Name = "ECHEANCIER-" & Format(Right$(FSrc.Name, 2) + 1, "00")
FCbl.[K15:K39].Value = Empty ' FCbl.[K15:K39].Value
FCbl.[V15:W39].FormulaR1C1 = "='" & FSrc.Name & "'!RC[-5]"
FCbl.[L15:M39].FormulaR1C1 = "=ROUNDUP(RC11*RC[-6],2)"
FCbl.[Q15:R39].FormulaR1C1 = "=RC[5]+RC[-5]"
'FCbl.[P15:P39,U15:U39].FormulaR1C1 = "=IF(RC6<>0,RC[1]/RC6,0)" ' peut être plutôt :
FCbl.[P15:P39,U15:U39].FormulaR1C1 = "=IF(RC8<>0,ROUND(RC[3]/RC8,2),0)"
FCbl.[N15:N39,S15:S39,X15:X39].FormulaR1C1 = "=RC[-2]+RC[-1]"
End Sub
Mais je n'ai probablement rien compris. Je vois seulement maintenant qu'il y a déjà des cumuls dans les colonnes G et H !
Le mieux serait que vous mettiez au point à la main les formules que vous voulez exactement en enregistrant une nouvelle macro. Puis vous pompez dans le code les FormulaR1C1 engendrés dans la nouvelle macro.
 
Dernière édition:
- 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

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…