cs_nanie13
Messages postés25Date d'inscriptionmercredi 28 février 2007StatutMembreDernière intervention26 décembre 2007
-
24 nov. 2007 à 05:54
cs_nanie13
Messages postés25Date d'inscriptionmercredi 28 février 2007StatutMembreDernière intervention26 décembre 2007
-
25 nov. 2007 à 18:18
Bonjour,
J'ai réalisé un facturier avec deux classeur.
1er classeur : Modèle de facture, base de données client, base de données facture
2ème classeur : Facturier
Il ne me reste plus que la dernière macro pour copier la nouvelle facture à partir du 1er classeur dans le 2ème classeur, mais je n'arrive pas à la concrétiser.
Je souhaiterais que la facture soit copiée en dernière position, si je renseigne le numéro de la dernière feuille "Sheets(4)" ma macro fonctionne.
J'ai essayé : "Sheets(Sheets.Count)", "Sheet.Count" mais cela ne fonctionne pas.
Merci pour votre aide
Sub Copie_Facture()
'var
Dim nbfeuille As Integer
Dim numfact As Integer
nbfeuille = Sheets.Count 'compte le nombre de feuilles
ActiveSheet.Copy After:=Workbooks("Factures Eric 2008.xls").Sheets(4)
nbfeuille = Sheets.Count
numfact = nbfeuille - 1
Sheets(nbfeuille).Name = "Facture n° " & (numfact)
Range("G3").Value = numfact
Sheets(nbfeuille).Select
End Sub
dsaunier
Messages postés12Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention25 novembre 2007 24 nov. 2007 à 09:08
Bonjour,
sauf erreur car je ne peux pas le tester (pas Excel sur cet ordi), la collection Sheets est indexée à partir de 0 donc la derniere feuille de ton classeur doit etre Sheets(Sheets.count-1).
cs_nanie13
Messages postés25Date d'inscriptionmercredi 28 février 2007StatutMembreDernière intervention26 décembre 2007 24 nov. 2007 à 18:36
Bonjour dsaunier,
Je viens de tester la macro avec Sheets(Sheets.count-1) et cela ne fonctionne pas.
Auparavant j'avais essayé Sheets(Sheets.count) et cela ne fonctionnait pas non plus. Il ne me reste plus que cela pour finaliser mon facturier et je bloque à ce niveau...... Merci de votre aide
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 24 nov. 2007 à 19:21
Peut-être comme ceci ?
Sub Copie_Facture()
Dim nbfeuille As Integer
Dim numfact As Integer
nbfeuille = Workbooks("Factures Eric 2008.xls"). Sheets.Count
ActiveSheet.Copy After: =Workbooks("Factures Eric 2008.xls").Sheets(nbfeuille)
'ici, il me semble que la nouvelle feuille est celle active
ActiveSheet.Name = "Facture n° " & (nbfeuille - 1)
Range("G3").Value = nbfeuille - 1
End Sub
MPi²
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_nanie13
Messages postés25Date d'inscriptionmercredi 28 février 2007StatutMembreDernière intervention26 décembre 2007 24 nov. 2007 à 20:51
Bonjour MPI,
Désolé mais cela ne fonctionne pas non plus, la macro bloque au niveau :
nbfeuille = Workbooks("Factures Eric 2008.xls").Sheets.Count
Merci pour ton aide
cs_nanie13
Messages postés25Date d'inscriptionmercredi 28 février 2007StatutMembreDernière intervention26 décembre 2007 25 nov. 2007 à 04:51
BonjoutMPi²,
Je n'avais pas ouvert le clsseur "Factures Eric 2008.xls".
La facture s'insère en dernier, mais ne se renomme pas.
La macro bloque à la dernière ligne :
ActiveSheet.Name = "Facture n° " & (nbfeuille - 1)