Deduction automatique numéro fiche

Bonjour à tous,

Je suis sur un petit problème surement simple pour des personnes plus compétente que moi en VBA

Alors voila,

Je suis en train de créer un fichier de gestion de dossier via une Userform.

Jusque la pas trop de problème. J'ai créer une fonction de recherche , modification, création, suppression avec vos aides (merci)

Cependant, dans ma colonne A, je souhaiterais gérer automatiquement un numéro de fiche pour chaque dossier

Un chiffre unique s’incrémentant pour chaque dossier.

1 pour le dossier Toto1

2 pour le dossier Toto2

3 pour le dossier Toto3

etc . . .

Je souhaiterais que :

Lorsque je clic sur le bouton "CREER" de ma premiere UserForm, a l'affichage de ma second Userform, que ce Numéro de fiche (Textbox : NUM_FICHE), s'incrémentant automatiquement en fonction de la dernière valeur de la colonne correspondante (Colonne A de ma fiche Excel)

Et évidement, lors de la création de la première fiche que le mon Textbox affiche la valeur 1

Pour le moment j'ai "grisé" cette TextBox et je l'ai vérouillé (Locket = True), car je ne souahite pas qu'il soit modifiable par l'utilisateur.

J'ai fait quelques test infructueux avec la recherche de la dernière ligne non vide et d'ajouter 1 à la valeur de la colonne A ainsi trouvé mais pour le moment pas mal d'erreur de compilation et autre

auriez-vous une solution ?

d'avance merci à vous

Mes nombreux Tests commencent à porter leurs fruits

Je viens de créer le code ci-dessous, qui fonctionne dans ma "Private Sub UserForm_Initialize()",

Lorque ma Userform se lance, je récupéré bien la valeur souhaité, pour le fichier joint ci-dessous 26 car dernière lignes porte le numéro 25

Je suis bien sûr preneur de toutes remarque/critiques constructives qui me permettrait de progresser en VBA

J'ai toujours un problème lors de l'initialisation du tableau et que je souhaite créer le 1er dossier... je n'arrive pas à trouver un contrôle correct...

--------------------- Code ---------------------

'Déclaration des variables de travail

Dim iDerLig As Integer

Dim iNumFich As Integer

'Déduction dernière ligne

iDerLig = Sheets("Fiche de suivi").Range("A" & Rows.Count).End(xlUp).Row

'Affecter la dernière valeur de la colonne A +1

iNumFich = Range("A" & iDerLig) + 1

'Affichage dans ma TextBox

NUM_FICHE.Text = iNumFich

Bonjour

Un essai à tester. Te convient-il ?

Bye !

Merci Gmb pour ta réponse

Je suis en train de regarder ton fichier et ton code

Je te fais un retour rapide

Entre temps, je pense avoir trouver une solution à ma problématique.

Je suis en cours de test du code suivant aussi sur la partie d'initialisation de ma UserForm

Private Sub UserForm_Initialize()

'Déclaration des variables de travail

Dim iDerLig As Integer

Dim iNumFich As Integer

'Gestion du Numéro de fiche en fonction de la derniere ligne vide

'Déduction dernière ligne

iDerLig = Sheets("Fiche de suivi").Range("A" & Rows.Count).End(xlUp).Row

' 6 étant le numéro de la premiere ligne après le "menu" de la feuille Excel

' le contrôle de la derniere ligne vide se fait juste après à la ligne 7

If iDerLig = 6 Then

iNumFich = 1

Else

iNumFich = Range("A" & iDerLig) + 1

End If

'Affichage du bon numéro de fiche dans la TextBox "NUM_FICE"

NUM_FICHE.Text = iNumFich

Bonjour

Juste une remarque sur le code que joins dans ton message.

Si tu mets ces instructions dans la macro initialize de l’UserForm fmDossier, tu te prives de pouvoir te servir par la suite de cette macro pour une réinitialisation de cette fiche.

Si tu veux pouvoir ajouter un bouton ‘’Modifier’’ par exemple…

Je préfère pour ma part mettre ces instructions dans celles liées au bouton ‘’Créer’’ de l’UserForm fmAccueil.

Mais, à chacun sa façon de faire…

Bye !

Effectivement gmb

Ta remarque est judicieuse et pertinente

Je dois avouer ne pas y avoir penser car j'ai besoin de ce numéro de fiche qu'une seul fois.

Je la prends en compte et je vais faire de ce pas les modifications !

merci

Rechercher des sujets similaires à "deduction automatique numero fiche"