Pb sur incrémentation de feuilles

  • Initiateur de la discussion Initiateur de la discussion nanou
  • 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 !

N

nanou

Guest
j'ai un classeur de prestations où l'on trouve une feuille par mois que j'incrémente au fur et à mesure des prestations émises. Je n'arrive pas à trouver la bonne formule pour que mon calcul sur la feuille 2 se répercute sur la feuille 3 et qui s'incrémente à partir de la feuille 2 et ainsi de suite à chaque nouvelle feuille. Bref, je joins mon fichier et je remercie ceux qui pourront m'aider. [file name=CLASSEURTEST.zip size=23897]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/CLASSEURTEST.zip[/file]
 

Pièces jointes

Bonsoir,

J'ai regardé ton fichier, je ne suis pas sûr d'avoir compris, je suppose que les deux feuilles sont sensées avoir la même structure, avec les cumuls sur la même ligne ?

En faisant cette hypothèse, je te propose la solution ci-jointe. J'ai rajouté dans ta macro les instructions qui réécrivent la formule de la cellule à modifier. Il y a sans doute des solutions plus élégantes, mais celle-là fonctionne.

(peux-tu m'expliquer à quoi sert ta variable D ?)

Bon travail !
 
Bonsoir,

J'ai regardé ton fichier, je ne suis pas sûr d'avoir compris, je suppose que les deux feuilles sont sensées avoir la même structure, avec les cumuls sur la même ligne ?

En faisant cette hypothèse, je te propose la solution ci-jointe. J'ai rajouté dans ta macro les instructions qui réécrivent la formule de la cellule à modifier. Il y a sans doute des solutions plus élégantes, mais celle-là fonctionne.

(peux-tu m'expliquer à quoi sert ta variable D ?)

Bon travail !
 
bon, apparemment le fichier joint n'est pas passé.

Voici la macro :

Public Sub Ajoutercalcul()

Dim D As Date
'### 4 variables supplémentaires
Dim C As Integer 'nombre de feuilles
Dim N1 As String, N2 As String 'noms des deux feuilles utilisées
Dim FRM As String 'formule du calcul

'###ajout de moustache
'on lit le numéro de la dernière feuille
C = Worksheets.Count
'###fin d'ajout

'Copie du dernier onglet
Sheets(Worksheets.Count).Copy After:=Sheets(Worksheets.Count)

'###ajout de moustache
'on lit les noms des deux feuilles
N1 = ActiveSheet.Name
N2 = Sheets(C).Name
'à partir de ces 2 noms
'on crée une variable texte contenant la formule *
'à mettre dans la cellule C16
FRM = '='' & N2 & ''!C16+'' & N1 & ''!C8'
'on affecte la formule à la cellule
ActiveSheet.Range('C16').Formula = FRM
'###fin d'ajout

With ActiveSheet
D = .Range('C24').Value + 1
End With

End Sub
 
Bonsoir,
Est-ce que ton problème est résolu ?
Je pense que ça ne fonctionne pas dans ton fichier parce que les cumuls ne sont pas à la même ligne.
Pour tester ma macro j'ai modifié ton fichier en insérant 3 lignes avant 'cumul', de façon que la valeur recherchée soit toujours sur la même ligne (ligne 16) et ça marche.
Si tu es obligée d'avoir un numéro de ligne variable c'est un peu plus compliqué mais c'est faisable aussi.



[file name=TESTMODIF.zip size=25897]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/TESTMODIF.zip[/file]
 

Pièces jointes

re-bonsoir,
Bon, il faudrait qqs précisions

dans ton premier fichier j'avais compris que c'étair la macro qui copiait la feuille ; l le fichier que je t'ai envoyé contient une macro qui fait la copie et qui corrige la formule.
Est-ce qu'elle ne marche pas chez toi? dans ce cas quelle est ta version d'excel ?

Maintenant dans ton deuxième fichier tu as l'air de dire que tu fais la copie manuellement à partir de l'onglet. Dans ce cas le pb est différent.

Pour le numéro de ligne variable, c'est pas trop grave si c'est tjs au même endroit par rapport au texte 'cumul annuel'

Dernière question, est-ce que c'est tjs la dernière feuille que tu copies ou est-ce que ça peut être une feuille du milieu ?


J'attends tes précisisons
@+
 
re-bonsoir,
Bon, il faudrait qqs précisions

dans ton premier fichier j'avais compris que c'étair la macro qui copiait la feuille ; l le fichier que je t'ai envoyé contient une macro qui fait la copie et qui corrige la formule.
Est-ce qu'elle ne marche pas chez toi? dans ce cas quelle est ta version d'excel ?

Maintenant dans ton deuxième fichier tu as l'air de dire que tu fais la copie manuellement à partir de l'onglet. Dans ce cas le pb est différent.

Pour le numéro de ligne variable, c'est pas trop grave si c'est tjs au même endroit par rapport au texte 'cumul annuel'

Dernière question, est-ce que c'est tjs la dernière feuille que tu copies ou est-ce que ça peut être une feuille du milieu ?


J'attends tes précisisons
@+
 
J'ai excel 2002. J'incrémente toujours la dernière feuille à partir de l'onglet et mon cumuml annuel peut changé de ligne en fonction du nombre de presta émises qui agrandit ou non le tableau.
Merci de prendre autant de temps sur mon problème. 🙂
 
Bonjour,

Essaie ça, je pense que ça répond à ta question. Malheureusement l'évènement NewSheet ne marche que quand on insère une feuille, pas quand on crée une copie ; j'utilise donc l'évènement Sheet Activate et je teste si le nom de la feuille se termine par (2), c'est-à-dire si tu viens de copier une feuille. Ca veut donc dire qu'il faut renommer la feuille avant de faire une nouvelle copie (qui se terminerait par (3) et ne serait pas détectée) ; j'ai inséré une instruction pour ça, tu n'as qu'à supprimer le guillemet de commentaire devant si ça te convient.

Pas la peine de me remercier, ça m'a permis de travailler des évènements que je connaissais peu ;
Mais dis-moi si ça répond à ton pb!

[file name=RETEST2.zip size=26883]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/RETEST2.zip[/file]
 

Pièces jointes

- 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

Retour