Facturier excel - Débutante VBA
nanie13
-
ShaBoo Messages postés 406 Statut Membre -
ShaBoo Messages postés 406 Statut Membre -
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
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
Configuration: Windows XP Internet Explorer 7.0
2 réponses
-
-
-
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
-
-
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