VBA - Problème avec macro

Résolu
cs_nanie13 Messages postés 25 Date d'inscription mercredi 28 février 2007 Statut Membre Dernière intervention 26 décembre 2007 - 24 nov. 2007 à 05:54
cs_nanie13 Messages postés 25 Date d'inscription mercredi 28 février 2007 Statut Membre Dernière intervention 26 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

8 réponses

cs_nanie13 Messages postés 25 Date d'inscription mercredi 28 février 2007 Statut Membre Dernière intervention 26 décembre 2007
25 nov. 2007 à 18:18
Bonjour MPi²,
Merci beaucoup, tout fonctionne parfaitement.
3
dsaunier Messages postés 12 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 25 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).

A +
0
cs_nanie13 Messages postés 25 Date d'inscription mercredi 28 février 2007 Statut Membre Dernière intervention 26 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
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
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²
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_nanie13 Messages postés 25 Date d'inscription mercredi 28 février 2007 Statut Membre Dernière intervention 26 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
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
25 nov. 2007 à 02:49
Est-ce que le classeur "Factures Eric 2008.xls" est ouvert quand tu fais cette commande ?

MPi²
0
cs_nanie13 Messages postés 25 Date d'inscription mercredi 28 février 2007 Statut Membre Dernière intervention 26 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)
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
25 nov. 2007 à 15:18
Peut-être que la facture "nbFeuille - 1" existe déjà.
Essaie en enlevant le "- 1"
Ce serait plus logique, de toutes façons ...

MPi²
0
Rejoignez-nous