Code pour générer un numéro de facture

Calvus

XLDnaute Barbatruc
Bonsoir,

Problème de code relativement simple à priori.

J'ai un classeur contenant plusieurs onglets dessinés de la même façon.

J'ai crée un bouton sur le ruban afin de générer un numéro sur ma cellule active.
Ceci marche.

Mon souci est d'incrémenter un nouveau numéro de référence.
La première partie du code fonctione :
Code:
Sub Bouton_Facture()
ActiveCell = Sheets("feuil3").Range("B35") + 1

C'est ensuite que ça se gâte... Et on ne se moque pas, j'essaye !
Code:
i = Range("B35")
For i = 1 To i = 1000
i = Range("B35") + 1
Next i
End Sub

Ici il ne se passe rien.
Ce que j'aimerais, évidemment, c'est de pouvoir repartir de mon dernier numéro.

Merci de votre aide.
 

Pièces jointes

  • Bouton Facture.xlsm
    12.5 KB · Affichages: 44
  • Bouton Facture.xlsm
    12.5 KB · Affichages: 49
  • Bouton Facture.xlsm
    12.5 KB · Affichages: 49

Calvus

XLDnaute Barbatruc
Re : Code pour générer un numéro de facture

Voici ce que j'ai trouvé.

J'imagine que ce n'est pas très orthodoxe, mais pour l'instant ça marche...

Code:
Sub Bouton_Facture()
ActiveCell = Sheets("feuil3").Range("B35") + 1

Sheets("feuil3").Range("B35") = ActiveCell + 1 - 1

End Sub

Quelqu'un peut il me dire si je dois déclarer des variables et comment ?

Merci
 

Pièces jointes

  • Bouton Facture.xlsm
    13.6 KB · Affichages: 41
  • Bouton Facture.xlsm
    13.6 KB · Affichages: 39
  • Bouton Facture.xlsm
    13.6 KB · Affichages: 37

DoubleZero

XLDnaute Barbatruc
Re : Code pour générer un numéro de facture

Bonjour, Calvus, le Forum,

... Et on ne se moque pas, j'essaye !...

Et bibi :eek: itou...

Peut-être avec ce code ( ? ) !

Code:
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    With Sheets("feuil3"): .Range("b35") = .Range("b35") + 1: End With
    Target.Value = Sheets("Feuil3").Range("b35").Value
    Cancel = True
End Sub

A bientôt :)

P. S. : Double bise, JCGL :D
 
Dernière édition:

Calvus

XLDnaute Barbatruc
Re : Code pour générer un numéro de facture

Bonsoir JC,

Merci, cela fonctionne.
En remplacement de mon ancien code donc, à savoir
Code:
Sheets("feuil3").Range("B35") = ActiveCell + 1 - 1

Le code entier est donc bien :
Code:
Sub Bouton_Facture()
ActiveCell = Sheets("feuil3").Range("B35") + 1


Sheets("Feuil3").Range("B35") = Sheets("Feuil3").Range("B35") + 1
End Sub

Sommes nous d'accord ?

J'imagine que c'est mieux que ce que j'avais écrit.

Et ne dois_je rien déclarer ?

Merci encore

EDIT : Bonsoir ANNE Barbatruc !! ;)
Merci, mais là tu m'as complètement paumé ! Je comprenais à peu près le 1er code..
Lequel dois-je donc utiliser ?
Merci
 
Dernière édition:

DoubleZero

XLDnaute Barbatruc
Re : Code pour générer un numéro de facture

Re-bonjour,

... Merci, mais là tu m'as complètement paumé ! Je comprenais à peu près le 1er code..
Lequel dois-je donc utiliser ?
Merci

Le code suggéré en #4 doit être logé dans le module de l'onglet "Feuil1" et ne s'appliquera qu'à l'onglet "Feuil1".

Si l'incrémentation devait agir sur plusieurs onglets... la macro suggérée ne conviendrait pas.

A bientôt,

L'ANNEsse :D:D
 

Calvus

XLDnaute Barbatruc
Re : Code pour générer un numéro de facture

Re,

Je te remercie.
Je vais donc utiliser le 1er code du (#6 )car j'ai au moins une dizaine d'onglets, et cela peut évoluer.

Puis-je donc l'utiliser tel quel sans risques ? Cela semble fonctionner correctement.

Et pense à l'apéro si tu vas dans le sud, car L'Annisse ! :D:D
 

Calvus

XLDnaute Barbatruc
Re : Code pour générer un numéro de facture

Bonjour,

Je reviens sur mon sujet.
Comment faire pour que l'incrémentation se fasse sur la ligne suivante, à savoir B36, et que le nouveau calcul se fasse à partir de là ? Et ainsi de suite.

Merci
 

Si...

XLDnaute Barbatruc
Re : Code pour générer un numéro de facture

salut

Si... on n'a pas de variable, on n'a rien à déclarer et on passe son chemin sans être inquiété.

Comment faire pour que l'incrémentation se fasse sur la ligne suivante, à savoir B36 *
* Si... tu n'agis que sur un onglet, dans la page de code de celui-ci sans nul besoin d'une autre cellule de stockage
Code:
Private Sub Worksheet_SelectionChange(ByVal R As Range)
  If R.Address = [B65000].End(xlUp)(2).Address Then R = R(0, 1) + 1
End Sub
sinon l'évènementielle sera construite dans ThisworkBook mais sans support ...
 

Pièces jointes

  • N° Avec mémorisation.xlsm
    14 KB · Affichages: 32

Calvus

XLDnaute Barbatruc
Re : Code pour générer un numéro de facture

Bonjour,
Bonjour Si et merci,

J'explique à nouveau clairement ce que que souhaite.
J'ai un classeur avec plusieurs onglets, et 12 factures par onglet. Un code dans une feuille spécifique ne conviendra donc pas. Je l'ai donc mis dans un module. Le code marqué en post 5 fonctionne très bien. Ce qu'il me manque, c'est de conserver une trace de tous les numéros générés.
Donc au lieu de générer un nouveau numéro en feuille 3 cellule B35, j'aimerais que ce soit en B36, puis B37 Etc..
et que la première partie du code génère un nouveau numéro à partir de la dernière cellule de la colonne B.

J'espère que c'est plus clair.

Merci de votre aide.
 

Si...

XLDnaute Barbatruc
Re : Code pour générer un numéro de facture

re

Pour moi, l'uns des intérêts d'une macro est d'éviter de multiplier les actions identiques. D'où ma remarque :
sinon l'évènementielle sera construite dans ThisworkBook mais sans support ...

J'ajouterai : le sujet est clair et net quand il s'accompagne de tous les éléments nécessaires pour le traiter !
Là, tu m'invites à naviguer à vue et dans le brouillard* donc je suis peu enclin à continuer mais plutôt à faire mon Staple ;):D !

Bon vent quand même...

J'ai quand même eu le plaisir de croiser d'agréables personnes (égarées comme moi) :cool: !
 

pierrejean

XLDnaute Barbatruc
Re : Code pour générer un numéro de facture

Bonjour Calvus
Salut à tous

Teste ceci

Dans n'importe quelle feuille et sur n'importe quelle cellule tu peux exécuter la sub Bouton_Facture()
NB: Je n'ai pas envisagé le cas de la suppression d'une facturei
 

Pièces jointes

  • Bouton Facture.xlsm
    15.3 KB · Affichages: 46
  • Bouton Facture.xlsm
    15.3 KB · Affichages: 47
  • Bouton Facture.xlsm
    15.3 KB · Affichages: 62

Calvus

XLDnaute Barbatruc
Re : Code pour générer un numéro de facture

Bonsoir,

PierreJean, Merci beaucoup ! Ça fonctionne à merveille. Je vais peut être revenir avec une demande de complément. Pour l'instant j'essaie de bien comprendre le code.


Si, merci également, mais j'avoue que je ne comprends pas très bien...

J'ajouterai : le sujet est clair et net quand il s'accompagne de tous les éléments nécessaires pour le traiter !
Là, tu m'invites à naviguer à vue et dans le brouillard* donc je suis peu enclin à continuer mais plutôt à faire mon Staple !

Ma demande me semblait claire depuis le début et j'avais indiqué dès le premier post que plusieurs onglets étaient concernés. Je l'ai à nouveau précisé en post 7, mais peut être pas de façon assez précise finalement. Pourtant j'avais joint un fichier avec les numéros affichés sur plusieurs onglets..
Mais bon.

Merci encore de votre aide.
Bonne soirée.
 

Discussions similaires

Réponses
2
Affichages
240

Statistiques des forums

Discussions
312 228
Messages
2 086 421
Membres
103 206
dernier inscrit
diambote