Compteur automatisé dans useform

moustic54

XLDnaute Occasionnel
Bonsoir

Je voudrais mettre un compteur automatique dans un useform sous la forme : 2015-XXXX
2015 étant l'année et les xxxx étant le chiffre qui s'incrément de 1 à chaque nouvel enregistrement.

Ex : 25eme enregistrement = 2015-0025
178eme enregistrement = 2015-0178

Si l'enregistrement se fait l'année suivante (soit en 2016) le compteur devra alors affiché 2016-XXXX

Quelqu'un pourrait il me dire comment faire ?
Mes connaissances en vba sont proches du degré zéro :(
 

Yaloo

XLDnaute Barbatruc
Re : Compteur automatisé dans useform

Bonsoir Moustic,

Voici un exemple dans le fichier ci-joint.

A+

Martial

PS : il faut enregistrer le fichier pour conserver les numéros.
 

Pièces jointes

  • moustic.xlsm
    12.6 KB · Affichages: 162
Dernière édition:

moustic54

XLDnaute Occasionnel
Re : Compteur automatisé dans useform

Bonjour Martial

Merci pour ton aide. Ton compteur marche du tonnerre :D
Il y a enregistrement dans un tableau

Je me permets une nouvelle question sur l'utilisation d'1 Chechbox et le problème de date :eek:
si la valeur est true (case cochée) alors la textbox sera la date du jour
si la valeur est false (case non cochée) alors la textbox est inactive (enable)

D'ailleurs est il possible plutôt que reprendre la fonction caption d'1 checbox pour renseigner le tableau, avoir oui ou vide si la case n'est pas cochée ?
 

Pièces jointes

  • useform-moustic.xlsm
    12.2 KB · Affichages: 136
  • useform-moustic.xlsm
    12.2 KB · Affichages: 153
  • useform-moustic.xlsm
    12.2 KB · Affichages: 148

Yaloo

XLDnaute Barbatruc
Re : Compteur automatisé dans useform

Bonjour Moustic, le forum,

Voici ton fichier, il doit faire ce que tu demandes, même si je ne vois pas trop l'intérêt de mettre TextDate inactif.
Soit il est toujours inactif et seulement rempli lorsque tu coches TextDate, soit il est inactif lorsque tu coches TextDate et actif pour lorsque TextDate n'est pas coché permettant de rentrer une autre date, mais bon là n'est pas mon problème ;)

A+

Martial
 

Pièces jointes

  • useform-moustic.xlsm
    13.6 KB · Affichages: 151
  • useform-moustic.xlsm
    13.6 KB · Affichages: 152
  • useform-moustic.xlsm
    13.6 KB · Affichages: 134

moustic54

XLDnaute Occasionnel
Re : Compteur automatisé dans useform

Bonsoir Martial, le forum,

C'est vrai que ton raisonnement est plus logique : TextDate toujours inactif et seulement rempli lorsque l'on coche TextDate.
Est ce pour çà que l'on peut saisir dans TextDate dans le fichier que tu as mis en retour ?
En revanche cela devient impossible après avoir coché et supprimer la date. :confused:


J'ai un message d'erreur avec le compteur lors de l'enregistrement pourtant j'ai bien repris ton code in extenso.
Je ne sais pas d'où vient le problème. J'ai donc essayé de te mettre un bout du code que j'ai sur mon fichier d'origine.

A moins que le problème ne vienne de la phase d'initialisation. J'ai plusieurs lignes à ce niveau en raison d'une date d'origine et de combobox. :eek:
 

Pièces jointes

  • useform-moustic2.xlsm
    19.5 KB · Affichages: 115
  • useform-moustic2.xlsm
    19.5 KB · Affichages: 132
  • useform-moustic2.xlsm
    19.5 KB · Affichages: 131

Yaloo

XLDnaute Barbatruc
Re : Compteur automatisé dans useform

Re,


En revanche cela devient impossible après avoir coché et supprimer la date. :confused:
Oui, c'est pour ça, d'après ce que je comprend, tu souhaites bloquer quand TextDate est coché. Donc il faut plutôt faire l'inverse, c'est à dire rendre accessible lorsque TextDate n'est pas coché.

J'ai un message d'erreur avec le compteur lors de l'enregistrement pourtant j'ai bien repris ton code in extenso.
Je ne sais pas d'où vient le problème. J'ai donc essayé de te mettre un bout du code que j'ai sur mon fichier d'origine.

A moins que le problème ne vienne de la phase d'initialisation. J'ai plusieurs lignes à ce niveau en raison d'une date d'origine et de combobox. :eek:

Je pense que l'erreur vient du code que tu as mis, vois le fichier ci-dessous.

A+

Martial

PS : tu peux faire du pas à pas en utilisant F8, comme ça tu vois la ligne posant problème.
 

Pièces jointes

  • useform-moustic2.xlsm
    20.4 KB · Affichages: 146
  • useform-moustic2.xlsm
    20.4 KB · Affichages: 144
  • useform-moustic2.xlsm
    20.4 KB · Affichages: 114

moustic54

XLDnaute Occasionnel
Re : Compteur automatisé dans useform

Merci Martial

Ce que je voudrais c'est que le curseur de la souris ne puisse jamais aller dans la zone date comme c'est le cas ici sauf si la case est cochée.
Cela te parait-il logique ?
Il est important que je comprenne le déroulement car j'ai plusieurs autres zones de texte que je voudrais toujours inactives sauf si certaines cases boutons sont activées.

Je ne sais pas si je m'exprime bien et si mon raisonnement peut être aussi logique que le tien. Mes lacunes sont énormes :eek:

J'ai compris pour le mode de fonctionnement du compteur mais je n'ai pas encore tester sur mon fichier original.
 
Dernière édition:

Yaloo

XLDnaute Barbatruc
Re : Compteur automatisé dans useform

Re,

C'est bien pour ça que je disais dans mon post #2
PS : il faut enregistrer le fichier pour conserver les numéros.

Si tu n'enregistres pas à chaque fois, il vaut mieux passer ton N° dans une cellule directement ou encore plus simple : reprendre la dernière cellule de la colonne A de la feuille TEST.

Je vois ça demain, je bosse demain et donc me lever tôt.

A+

Martial
 

moustic54

XLDnaute Occasionnel
Re : Compteur automatisé dans useform

Bonne soirée Martial

Tu as été plus rapide que moi ..... J'ai compris le fonctionnement du compteur et du coup j'ai rectifié mon message mais tu avais déjà répondu.
J'ai vu que lorsque l'on enregistre le compteur s'incrémente automatiquement de + 1 mais il suffit que tu fermes le usf puis que tu l'ouvres à nouveau pour faire d'autres enregistrements pour repartir de 0.
Je fais faire les tests demain moi aussi

C'est sur les zones actives ou non que le bas blesse .... Surtout que j'en ai un certain nombre :(

A +
 
Dernière édition:

Yaloo

XLDnaute Barbatruc
Re : Compteur automatisé dans useform

Bonsoir moustic,

Vois avec le fichier ci-joint.
Récupération de la valeur de la première colonne de la feuille TEST.

A+

Martial
 

Pièces jointes

  • useform-moustic2.xlsm
    24.6 KB · Affichages: 114
  • useform-moustic2.xlsm
    24.6 KB · Affichages: 128
  • useform-moustic2.xlsm
    24.6 KB · Affichages: 137

moustic54

XLDnaute Occasionnel
Re : Compteur automatisé dans useform

Bonsoir Martial

Merci pour le fichier mais étant plusieurs à travailler dessus il y a des risques au niveau de la récupération du n° de compteur depuis la feuille Test.
1. Comment peut-on faire pour avoir le compteur directement dans 1 Textbox ?

2. J'ai mis 2 boutons dans l'USF :
- si bouton 1 est oui, je voudrais que seule zone puisse être modifiée ainsi que échéance. Mais mon code n'est pas complet
- si bouton 2 est oui, je voudrais que seule la "3ème" textbox puisse être modifiée

J'ai modifié le fichier en ce sens mais il manque des bouts de code :(

Peux-tu m'aider Martial ?
 

Pièces jointes

  • compteur-automatise-retour.xlsm
    22.8 KB · Affichages: 143
  • compteur-automatise-retour.xlsm
    22.8 KB · Affichages: 137
  • compteur-automatise-retour.xlsm
    22.8 KB · Affichages: 125

Yaloo

XLDnaute Barbatruc
Re : Compteur automatisé dans useform

Re,

Pour le point N° 1 , il faut bien stocker la valeur à un endroit. Lorsque je la stockais dans le tag du label, si l'on quittait l'UserForm alors on perdait cette donnée puisqu'au nouveau démarrage de l'UserForm, l'initialisation remettait tout à zéro. Si l'on stocke dans un TextBox, ce sera la même chose.
Plusieurs solutions sont quand même envisageables :
- On ne ferme pas l'UserForm, on le cache.
- On enregistre le fichier à chaque validation.
- On enregistre à la fermeture de l'UserForm.
- On stocke cette valeur dans un Nom (gestionnaire de nom)
- On stocke dans une cellule d'un onglet (caché ou non)

Pour le point N° 2 , quand tu dis vouloir seulement zone et échéance modifiable pour bouton1, c'est seulement les contrôles que tu as rajouté ou tous ceux de l'UserForm ?

A te relire

Martial
 

moustic54

XLDnaute Occasionnel
Re : Compteur automatisé dans useform

De retour

Pour le point 1 : je pense que le mieux serait sans doute d'enregistrer à la fermeture de l'UserForm.
Mais question de néophyte, ne peut-on pas faire avec ce fameux compteur dans la TextBox "compteur" comme pour la date c'est-à-dire que la donnée se place bien dans la feuille Test à chaque click sur CommandButton1 mais s'incrémente également de +1 malgré la phase d'initialisation sans pour autant aller chercher dans la feuille Test ou passer par la fermeture + enregistrement du fichier ?

Pour le point 2 : lorsque je dis vouloir seulement zone et échéance modifiable pour bouton1, c'est seulement les contrôles que j'ai rajouté. (frame + 2 boutons et 3 textbox)
Le bouton 1 (bout1) actionne uniquement zone et échéance (sachant que zone et échéance sont des listes en cascades)
Le bouton 2 (bout2) actionne uniquement le textbox dont le label est "Actif si bout2 is Ok"

Je n'utilise pas un langage très excelien pour un pro tel que toi :(
 

Yaloo

XLDnaute Barbatruc
Re : Compteur automatisé dans useform

En fait, pour le point 1, qu'est-ce qui te gêne avec la version actuelle ? Repiquage du N° dans la feuille TEST ?

Pour le 2, vois le fichier ci-dessous, j'ai mis un petit plus en cachant carrément les contrôles, comme ça tu as les 2 solutions.

A demain

Martial
 

Pièces jointes

  • compteur-automatise-retour.xlsm
    25.9 KB · Affichages: 134
  • compteur-automatise-retour.xlsm
    25.9 KB · Affichages: 151
  • compteur-automatise-retour.xlsm
    25.9 KB · Affichages: 155