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....
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....