variable du nom du nom de la feuille dans une formule en VBE

  • Initiateur de la discussion josias
  • Date de début
J

josias

Guest
Auteur: Jérémie (---.fbx.proxad.net)
Date: 05-08-04 14:30

Salut a tous !

Voila, je dois créer pour une entreprise un devis informatisé avec données injectables dans une GPAO. Le problème est que ce fichier va comporter parfois plus de 80 feuilles. alors pour optimiser le poid du fichier, au lieu de créer un fichier avec 100 pages et pas une de plus ni de moins, je voudrais créer une macro qui me permet de dupliquer la première feuille et au fur et a mesure de leur création, le nom des feuilles vont s'incrémenter de la manière suivante: SE1,SE2,SE3,...
mais, il y a des contraintes techniques que je n'arrive pas a surmonter. Par exemple, je suis arrivé a la feuille SE4. Dans celle-ci il y a des formules qui font réferences a la feuille précedente. Lorsque j'execute ma macro, il me demande de mettre a jours le fichier parce qu'il ne reconnait pas la feuille appelé "nomfeuilprece". Normal! Parce que il aurait du s'appeler "SE3" !!Mon vrai problème est donc sur la syntaxe que doit avoir la variable appelé "nomfeuilpreced" faisant réference au nom de la feuille précedente.

Voici mon petit bout de code qui me fait défaut ( c'est vrai que les formules sont un peu compliquées mais elles sont bonnes, y a pas de soucie )


Sub formulese2(nombrefeuille As Integer)

Dim nbfeuil As Integer

nb = Format(nombrefeuille)------------------->Format, c'est pour convertir un entier en caractere !!!
nomfeuil = ("SE" + nb)
nbfeuil = nombrefeuille - 1
feuilpreced = Format(nbfeuil)
nomfeuilpreced = ("SE" + feuilpreced)
Sheets(nomfeuil).Select
Range("C23:E23").Select
ActiveCell.FormulaR1C1 = "=IF(RC[3]<>"""",IF(SUM(nomfeuilpreced!RC:R[56]C)<>0,MAX(nomfeuilpreced!RC:R[56]C)+10,""""),"""")"
Range("C30:E30").Select
ActiveCell.FormulaR1C1 = "=IF(AND(RC[3]<>"""",SUM(R[-7]C:R[-1]C[2])<>0)=TRUE,MAX(R[-7]C:R[-1]C[2])+1,IF(AND(RC[3]<>"""",SUM(R[-7]C:R[-1]C[2])=0)=TRUE,MAX(nomfeuilpreced!R[-7]C:R[49]C)+10,""""))"


End Sub


Qui peu m'aider ? Merci beaucoup....
 
A

Arnaud

Guest
re salut........

si tu continu tes mulitpost comme ça je sens tu n'auras jamais de réponse enfin peut être qu'une ame très très généreuse......
une fois passe encore mais la que tu insiste en changeant de pseudo c limite......surtout que en recopiant ton message tu as recopier ton nom LOL ^^

Lien supprimé

Lien supprimé
 
M

Munchkin

Guest
Bien jouer Arnaud, j'ai un peu plus de temps pour trouver le premier post

<http://www.excel-downloads.com/html/French/forum/messages/1_107204_107204.htm>

Je ne te conseil pas trop de passer comme ca les demandes car je pense, comme, comme Arnaud l'a dit, t'auras moins de chance d'avoir la réponse :)

Munchkin
 
J

josias

Guest
ok j'ai lu la charte.
En dupliquant ce message, je voulais juste changer le sujet, c'est tout pour que l'on puisse me répondre mais maintenant je sais que ce n'ai pas autorisé.
Ok , j'ai fait une boulette mais ça arrive, je ne le ferais plus !

Alors, a tous ceux qui vont lire ce message et qui peuvent m'aider en me répondant, je leur serais reconnaissant...Merci de votre compréhension.
 
A

Arnaud

Guest
re,

bon alors pour ton problème maintenant.
je t'avoue que g un peu de mal a comprendre ton truc mais essaye déja ça :

ActiveCell.FormulaR1C1 = "=IF(RC[3]<>"""",IF(SUM(" & nomfeuilpreced & "!RC:R[56]C)<>0,MAX(" & nomfeuilpreced & "!RC:R[56]C)+10,""""),"""")"
Range("C30:E30").Select
ActiveCell.FormulaR1C1 = "=IF(AND(RC[3]<>"""",SUM(R[-7]C:R[-1]C[2])<>0)=TRUE,MAX(R[-7]C:R[-1]C[2])+1,IF(AND(RC[3]<>"""",SUM(R[-7]C:R[-1]C[2])=0)=TRUE,MAX(" & nomfeuilpreced & "!R[-7]C:R[49]C)+10,""""))"

avec un peu de chance cela sera mieux ;)
 

Discussions similaires

Statistiques des forums

Discussions
312 231
Messages
2 086 438
Membres
103 208
dernier inscrit
Natsu09