INCREMENTER UN N° DE FACTURE AVEC UNE MACRO

M

MICHEL

Guest
salut je voudrais que l'ont m'explique comment incrémenter un n° de facture dans une case d'une feuille exel à l'aide d'une macro.
Il me faudrait une explication détaillé car je ne maitrise pas du tout les macros.Merci d'avance
 
@

@Christophe@

Guest
Bonsoir Michel

Voici vite fais une petite macro que tu colle dans This workbook

Private Sub Workbook_Open()
Dim Compteur As Integer
Compteur = Range("A1").Value
Range("A1").Value = Compteur + 1
End Sub

Dans la cellule A1, tu aura 1, puis a la prochaine ouverture tu auras 2, ....
Tu dois sauver le doc après chaque ouverture biensur.

Pour ajouter tu fais copie les quelque ligne si decu, tu ouvre ton fichier, tu fais ATL + F11 dans la colonne de gauche tu devrais voir ThisWorkbook, tu double clique et tu colle le code dans la fenêtre de droite et le tour est joué

Tu peux modifie A1 dans le code par la cellule de ton choix.

Bonne soiré

@Christophe@
 
V

Valérie

Guest
Salut les forumeurs, et Christophe,

Si Ti me ois je vais me faire fâcher... hi hi hi mais je maintiens ma position tu peux affecter directement une valeur sans passer par une variable.

Private Sub Workbook_Open()
Range("A1") = Range("A1") + 1
End Sub

C'est pour épargner mes petits doigts... le .Value étant la propriété par défaut je ne m'encombre pas avec..

OIlà C tout mais ce que prospose Christophe fonctionne très bien

@ bientôt
Valérie
 
@

@Christophe@

Guest
Bonsoir Arnaud

Voila le genre de code que tu peux mettre dans tu userform, a chaque ouverture de ton userform ton numéro augementera de 1.

Private Sub UserForm_Initialize()
Dim Compteur As Integer
Compteur = Range("A5").Value
Range("A5").Value = Compteur + 1
TextBox1.Value = Range("A5").Value

End Sub

J'espere t'avoir aidé

@Christophe@
 
A

Arnaud

Guest
Re salut

J'ai essayé le code est cela marche impec, le seul hic !!, c'est que si les données entrées dans le formulaires s'ajoute bien dans la feuille excel les unes à la suite des autres avec le numéro incrémentée, j'ai toujours le nouveau numéro qui s'inscrit dans la case A5.
J'ai essayé pas pal de truc pour l'enlever mais pour l'instant rien ne marche. Ce doit être tout simple une fois de plus mais là je séche

@+

Merci
 
Z

Zofia

Guest
Bonjour,

Je profite du sujet pour savoir comment faire, en espérant que la dernière question d'Arnaud ne passe pas aux oubliettes pour autant, dans le cas ou la numérotation comporte un tiret ?

Exemple : 18-5667

avec
Private Sub Workbook_Open()
Range("A1") = Range("A1") + 1
End Sub

Il ne veut absolument rien savoir, je présume que le tiret étant considéré comme un opéarteur, il en perd son latin.

J'ai tenté de placer un format personnalisé mais cela ne change pas le problème.
 
@

@Christophe@

Guest
Bonsoir Zofia et Arnaud

Zofia pour ton probleme utilise le code suivant:

Private Sub Workbook_Open()
Dim Compteur As String
Range("A1").NumberFormat = "##-####"
Compteur = Range("A1").Value
Range("A1").Value = Compteur + 1
End Sub

Tu dois avoir une valeur dans la cellule A1 avant de commencé


Pour toi Arnaud tache d'être un peu plus option explicit et j'essayerai de te répondre, parce que la j'ai pas trop compris.

Bonne soiré

@Christophe@
 
Z

zofia

Guest
Ouf ! quel soulagement, j'étais prête a avaler une boîte entière d'anti-dépresseurs a force de chercher. :)

Merci infiniment @Christophe@

Je n'ai plus qu'un petit tout petit problème.

Il faudrait que je puisse ajouter à gauche dans la même cellule que le numéro le texte "N° Facture"

Je ne sais pas où le placer dans la macro ??
J'ai toujours une erreur quand je place le texte.
 
A

Arnaud

Guest
Bonjour à tous

Pour faire plus simple, chaque fois que j'ouvre l'USF, le numéro se met à jour dans la cellule A5. Comment faire pour qu'il n'y figure plus ?
Bon, s'il le faut je joindrais mon fichier la prochaine fois

Merci et bonne journée

Arnaud
 
M

Michel_M

Guest
Bonjour à tous


Lorsqu' on va ouvrir une facture déjà rédigée, le numéro va s'incrémenter...

Il faut donc mettre en tête de la macro
if range("A1")>0 then :end

le classeur générique ayant en A1 la valeur Zéro


A+
Michel
 
A

Arnaud26

Guest
Michel
Ok pour ta réponse mais je suis novice dans la macro peux tu m'indique sur l'exemple ci dessus la manière de procéder ?
Merci

Private Sub Workbook_Open()
Dim Compteur As Integer
Compteur = Range("E11").Value
Range("E11").Value = Compteur + 1
End Sub
 
E

EMG

Guest
Bonsoir Michel le Forum

Bon un petit fichier vite fait en exemple remarque que trois cellules ont été définit avec des Noms comme (ORD, DIRECT, DT, DIR) voila il suffit ensuite de masquer les trois lignes du paramètre pour éviter un effacement malencontreux et le tour est jouer

Sub Nouvelle_Facture()
'
' Nouvelle_Facture Macro
'
'Spécifiez ORD nommé étendu comme ORDRE# et DIRECT, DT et ORD
'pour créer la variable PATH comme chemin.
Dim ORDRE#, PATH
ORDRE# = Range("ORD").Value
PATH = Range("DIRECT").Value & Range("DT").Value & " - " & (Range("ORD").Value + 1)
'
'Augmentez le numéro de facture par + 1 et sauvez
'le Fichier avec le nouveau numéro de facture.
Range("ORD") = ORDRE# + 1
ActiveWorkbook.Save
'
'Sauvez le fichier comme une nouvelle facture
'selon le chemin ci-dessus.
'ActiveWorkbook.SaveAs Filename:=PATH
End Sub

@+ Gérard
 

Pièces jointes

  • FacturePlus1.zip
    8.2 KB · Affichages: 189

Discussions similaires

Réponses
20
Affichages
286

Statistiques des forums

Discussions
312 636
Messages
2 090 366
Membres
104 511
dernier inscrit
hsakho