Autres numéro de serie dans une textbox

ngexcel

XLDnaute Occasionnel
Bonjour à tous
J'ai construit avec plusieurs macros trouvés sur le site une base de donnée.
je bloque sur mon userform1 qui comporte une textbox105 en haut à gauche dans mon userform
je voudrais qu'à chaque ouverture de mon userform1 que ma textbox105 incrémente N° consigne 001 puis des que je fais nouveau N° consigne 2 etc...
Je vous remercie de votre aide
 

Pièces jointes

  • base.xlsm
    105.9 KB · Affichages: 10

soan

XLDnaute Barbatruc
@ngexcel (salut Staple)

* j'ai quand même réussi à débloquer la boucle à répétition ! :) il y avait effectivement 2 références manquantes, mais sur mon PC seulement : c'est car tu as Outlook 2016 et moi un ancien Outlook 2003 (eh oui, mais ne te moque pas : j'y tiens, car je préfère son ergonomie à une autre que j'ai d'Outlook 2007 ! 😜) ; plus tard, quand tout sera ok, il faudra que tu remettes tes 2 références Outlook 2016.

* ouvre le fichier ci-joint, et va sur "Feuil3" ; tu peux voir que le N° Consigne est à 001.

* fais Ctrl p (p pour plus) ➯ ça augmente de 1 jusqu'à 005 maxi ; tu changeras plus tard ce maximum, c'est juste pour la démo ; si tu ne veux pas de maximum, ça sera facile à enlever.

* fais Ctrl m (m pour moins) ➯ ça diminue de 1 jusqu'à 001 mini ; à laisser tel quel, pour ne pas descendre à 0 ou en dessous !

* refais Ctrl p jusqu'à 005, et imagine que tu es à 750 ; si t'en as besoin, ça serait bien long pour remettre à 001 via plusieurs Ctrl m ! aussi, fais Ctrl r (r pour réinitialiser) ➯ le n° retourne à 001 direct !

* fais Ctrl e ➯ ton UserForm1 s'affiche ; et tu peux voir que TextBox105 est à 001 ; clique sur le bouton Nouveau ➯ ça augmente de 1, comme quand tu avais fait Ctrl p ; là, par contre, y'a pas de bouton pour diminuer le n° consigne (ni pour le réinitialiser à 1) ; et peut-être que plus tard tu pourrais mettre du code pour que ça passe de 999 à 001 ? c'est uniquement à ton choix, bien sûr ! ;)



côté VBA, regarde d'abord Module2 :

VB:
Option Explicit

Sub NumCsgP()
  With Worksheets("Feuil3")
    If .[A2] < 5 Then .[A2] = .[A2] + 1
  End With
End Sub

Sub NumCsgM()
  With Worksheets("Feuil3")
    If .[A2] > 1 Then .[A2] = .[A2] - 1
  End With
End Sub

Sub NumCsgR()
  [Feuil3!A2] = 1
End Sub

Sub Essai()
  UserForm1.Show
End Sub

puis pour le code VBA de UserForm1, va tout à la fin pour voir ceci :

Code:
Private Sub CommandButton27_Click()
  With Worksheets("Feuil3")
    If .[A2] < 5 Then .[A2] = .[A2] + 1
    TextBox105 = Format(.[A2], "000")
  End With
End Sub

Private Sub UserForm_Initialize()
  TextBox105 = Format([Feuil3!A2], "000")
End Sub

si besoin, tu peux demander une adaptation.
à te lire pour avoir ton avis. ;)

soan
 

Pièces jointes

  • base.xlsm
    158.3 KB · Affichages: 8
Dernière édition:

soan

XLDnaute Barbatruc
=>Staple

désolé de te décevoir, Staple, mais j'avais déjà décoché les 2 références bien avant que tu postes ton message #11 ! 😁 preuve en est que si j'l'avais fait juste après avoir lu ton post #11, j'aurais jamais eu l'temps d'faire tout c'que j'ai fait dans l'fichier joint d'mon post #16 ; car y'en avait du boulot ! y compris choisir la feuille où placer le compteur du n° consigne, mettre en forme les cellules A1:A2, mettre le format 000 pour A2, rechercher dans le code VBA du UserForm à quel endroit intervenir, trouver où placer mon code parmi les différents modules (c'est là où j'ai choisi Module2, qui était présent et vide) ; et j'me suis rendu compte aussi qu'y'avait pas besoin de suivre à la lettre le fichier modèle, qui lui utilise toute une colonne de numéros successifs (alors que moi j'ai utilisé que 2 cellules ! 😜) ; et puis y'a eu aussi l'ajout de tous les raccourcis clavier : Ctrl p ; Ctrl m ; Ctrl r ; Ctrl e ; j'crois qu'cette fois j'ai tout mis ; ah non, y'a eu aussi la longue rédaction et mise en forme de mon post #16. ;)

soan
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re

=>soan
Moi, je parlais juste de la redite (d'où l'emoticone* qui était censé faire référence à la 1ère de ce dimanche brumeux (mais dans un autre fil)
Sinon, je ne sais pas comment tu as fais pour bloquer ton PC en ouvrant base.xlsm
Je l'ai ouvert sans souci sur mon PC.

*: à classer donc dans mes traits d'humour.
 

soan

XLDnaute Barbatruc
@ngexcel

ah bon ? j'avais cru que le bouton Nouveau était pour utiliser une nouvelle fiche, donc augmentation du compteur n° consigne de 1 pour la fiche suivante ; mais si le bouton Nouveau est pour mettre le compteur à 1, alors mets simplement ceci :
VB:
Private Sub CommandButton27_Click()
  With Worksheets("Feuil3")
    .[A2] = 1: TextBox105 = Format(.[A2], "000")
  End With
End Sub


=>Staple

si, si, j'avais compris que c'était de l'humour ! 😅 (et en fait, tout c'que j'ai écrit était surtout pour que ngexcel se rende compte de tout l'boulot qu'j'ai fait dans son fichier ! ;)) ; pour le blocage, je peux pas l'expliquer, je peux seulement dire qu'il s'est produit, et que j'arrivais même pas à réinitialiser le projet VBA, même en faisant une modif quelconque d'une ligne de code VBA ! finalement, j'ai réussi à débloquer par ce moyen : j'ai été sur Module1 qui est court et contient 17 lignes seulement ; Ctrl a ; Maj Suppr ➯ message de VBA qui dit que ça va réinitialiser le projet ; clic sur OK ; Maj Inser pour coller le code VBA des 17 lignes qui était « en attente » dans le presse-papiers de Windows, et le tour est joué ; puis bien sûr, j'ai aussitôt décoché les 2 références manquantes. 😊 (et sans avoir lu ton post #11, car tu l'avais pas encore validé ! 😁 😂)

soan
 

ngexcel

XLDnaute Occasionnel
Bonjour tu avais bien compris
quand je clic sur enregistrer cela enregistre toutes les textbox en feuil2
Quand je fais nouveau cela efface toutes les textbox mais je veux que la textbox105 affiche un numéro suivant
ta macro fonctionne pas a chaque fois peux tu la tester
 

ngexcel

XLDnaute Occasionnel
Bonjour soan
J ai bien en feuil3 ma consigne en 001
j ai ma feuil2 (base de donne) vide
j ouvre mon userform avec mot de passe 2021
je nais pas 001 en haut a gauche en faisant nouveau
je veux ensuite faire enregistrer
si je veux créer encore une nouvelle fiche je nais pas 002 peux tu regarder encore merci
 

Pièces jointes

  • base.xlsm
    136.5 KB · Affichages: 4

soan

XLDnaute Barbatruc
Bonjour ngexcel,

je suis reparti du fichier de ton énoncé, et j'ai fait autrement.

après avoir saisi ton mot de passe, le UserForm1 s'affiche (formulaire Base).

TextBox105 est vide, mais c'est normal car y'a encore aucune donnée.

pour Désignation / Référence :

* saisis a et b et clique sur le bouton Nouveau ➯ TextBox105 : 001
* saisis c et d et clique sur Nouveau ➯ TextBox105 : 002
* saisis e et f et clique sur Nouveau ➯ TextBox105 : 003
* saisis g et h et clique sur Nouveau ➯ TextBox105 : 004
* saisis i et j et clique sur Nouveau ➯ TextBox105 : 005

etc...

donc le n° s'incrémente bien comme tu l'avais demandé.​

soan
 

Pièces jointes

  • base.xlsm
    158.3 KB · Affichages: 2
Haut Bas