Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

ninanani

XLDnaute Occasionnel
Bonjour,

j ai la macro suivante:

Sub Save_Sheet()

Dim strNom As Variant

strNom = Application.GetSaveAsFilename(ActiveSheet.Name, "Invoices (*.xls),*.xls")

If strNom <> False Then
ActiveSheet.Copy
ActiveWorkbook.SaveAs strNom
ActiveWorkbook.Close
End If

End Sub

Cela me permet d enregistrer une seule feuille d un fichier excel et d en ravoir une nouvelle a chaque fois.
Sur cette invoice, j aimerais qu un numero arrive automatiquement, numero qui suivrait bien sur le combien tieme invoice cest.

Merci
 
Re : macro

Bonjour ninanani, le Forum,

Peut être un début de piste

Sub IncrementationFactureNumero()
Dim NumberInvoiceNumber As Integer
Dim RangeInvoiceNumber As Range
Dim StringInvoiceNumber As String

Set RangeInvoiceNumber = Sheets("Feuil1").Range("E5") ' A ADAPTER
StringInvoiceNumber = "Facture No:" ' A ADAPTER
With RangeInvoiceNumber 'Si la cellule est vide (Première Facture)
If .Value = "" Then
.Value = StringInvoiceNumber & " " & Format(0, "0000")
End If
End With
NumberInvoiceNumber = Val(Mid(RangeInvoiceNumber, Len(StringInvoiceNumber) + 1))
NumberInvoiceNumber = NumberInvoiceNumber + 1
RangeInvoiceNumber = StringInvoiceNumber & " " & Format(NumberInvoiceNumber, "0000")
End Sub
 
Re : macro

Bonjour Tous,

Peut-être quelquechose comme ceci?

Code:
Sub Save_Sheet()
Static i As Integer
Dim strNom As Variant
i = i + 1
strNom = Application.GetSaveAsFilename("Invoices_" & i & ".xls", "Invoices (*.xls),*.xls")
 
'suite macro
End Sub

Mais d'une session à l'autre la numérotation repartira de Zéro.
A moins de créer une variable publique dont la valeur sera sauvegardée dans une cellule ou un non caché(e) à la fermeture du classeur et reprise à l'ouverture suivante.

A+
 
Re : macro

bonjour à tous

cette macro m'intéresse je dois sauvegarder une feuille qui contient un bon de commande généré automatiquement depuis une gestion de stock

actuellement le dernier bon de commande est imprimé puis écrasé par le nouveau
je voudrai sauvegarder ce bon de commande (cette feuille) dans un autre classeur afin de pouvoir gérer les entrées lors des livraisons

ninanani, pouvez vous nous laisser ce morceau de code puisqu'il fonctionne chez vous ?

merci

Kinel
 
Re : macro

Re,

Alors voila mon morceau de code qui fonctionnait avant (il fonctionne toujours), mais je me suis rendu compte que ce n etait pas exactement ce que je cherchais.
Je vous le donne tout de meme:

Sub IncrementationFactureNumero()
Dim NumberInvoiceNumber As Integer
Dim RangeInvoiceNumber As Range
Dim StringInvoiceNumber As String

Set RangeInvoiceNumber = Sheets("Invoices").Range("G14")
StringInvoiceNumber = ""
With RangeInvoiceNumber
If .Value = "" Then
.Value = StringInvoiceNumber & " " & Format(0, "0")
End If
End With
NumberInvoiceNumber = Val(Mid(RangeInvoiceNumber, Len(StringInvoiceNumber) + 1))
NumberInvoiceNumber = NumberInvoiceNumber + 1
RangeInvoiceNumber = StringInvoiceNumber & " " & Format(NumberInvoiceNumber, "0000")

End Sub

Voili voilo,
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
164
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
171
Réponses
5
Affichages
477
Réponses
7
Affichages
620
Réponses
23
Affichages
2 K
  • Question Question
Microsoft 365 VBA sur outlook
Réponses
14
Affichages
1 K
Retour