Facturier excel - Débutante VBA

Fermé
nanie13 - 20 nov. 2007 à 10:21
ShaBoo Messages postés 392 Date d'inscription mercredi 12 septembre 2007 Statut Membre Dernière intervention 5 septembre 2009 - 21 nov. 2007 à 09:22
Bonjour,

Quelqu'un pourrait t il m'aider à finaliser cette macro s'il vous plait ?

Je souhaiterais copier ma facture dans un autre classeur, l'insérer en dernier et lui donner son nouveau numéro.

Option Explicit

Sub Copie_Facture()
'var
Dim nbfeuille As Integer
Dim numfact As Integer
'compte le nombre de feuilles
nbfeuille = Sheets.Count
'creation de la nouvelle feuille
ActiveSheet.Copy After:=Workbooks("Factures 2007.xls").Sheets(nbfeuille)
nbfeuille = Sheets.Count
numfact = nbfeuille + 1
Sheets(nbfeuille).Name = "Facture N°" & (numfact)
Range("G3").Value = numfact
Sheets(nbfeuille).Select

End Sub
A voir également:

2 réponses

ShaBoo Messages postés 392 Date d'inscription mercredi 12 septembre 2007 Statut Membre Dernière intervention 5 septembre 2009 50
20 nov. 2007 à 10:29
Bonjour,

Quel est ton pb ?
0
Bonjour,
ma macro ne fonctionne pas, voilà quelques jours que je galère.
Je suis débutante en VBA et je ne trouve pas mon erreur.
0
Bonjour,

ma macro fonctionne si je nomme l'avant dernière feuille :

ActiveSheet.Copy After:=Workbooks("Factures Eric 2007.xls").Sheets(19)

mais je voudrais qu'elle se positionne en dernier.......

Merci par avance


Sub Copie_Facture()


'var
Dim nbfeuille As Integer
Dim numfact As Integer
'debut
'compte le nombre de feuilles
nbfeuille = Sheets.Count

'creation de la nouvelle feuille
ActiveSheet.Copy After:=Workbooks("Factures Eric 2007.xls").Sheets(19)
nbfeuille = Sheets.Count
numfact = nbfeuille + 0
Sheets(nbfeuille).Name = "Facture n° " & (numfact)
Range("G3").Value = numfact
Sheets(nbfeuille).Select

End Sub
0
ShaBoo Messages postés 392 Date d'inscription mercredi 12 septembre 2007 Statut Membre Dernière intervention 5 septembre 2009 50
21 nov. 2007 à 09:22
Bonjour,

Essaye ceci :

Sub Copie_Facture()
'var
Dim nbfeuille As Integer
Dim numfact As Integer
'debut
'compte le nombre de feuilles
'nbfeuille = Sheets.Count
nbfeuille = ThisWorkbook.Sheets.Count

'creation de la nouvelle feuille
'ActiveSheet.Copy After:=Workbooks("Factures Eric 2007.xls").Sheets(19) 
ActiveSheet.Copy After:=Sheets(nbfeuille)

nbfeuille = Sheets.Count ' je ne vois pas pourquoi tu fais cela
numfact = nbfeuille + 0 ' a quoi te sert ceci si nbfeuille = 1 => 1 + 0 = 1
'Sheets(nbfeuille).Name = "Facture n° " & (numfact)
Sheets(nbfeuille).Name = "Facture n° " & (nbfeuille)
'Range("G3").Value = numfact
Range("G3").Value = nbfeuille

Sheets(nbfeuille).Select

End Sub
0