[EXCEL] Numéro automatique VBA [Fermé]

Messages postés
8
Date d'inscription
jeudi 20 septembre 2007
Statut
Membre
Dernière intervention
11 novembre 2014
- - Dernière réponse : michel_m
Messages postés
15913
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
17 septembre 2019
- 8 juin 2013 à 14:32
Bonjour, voici mon problème :
J'ai créé un formulaire en VBA sous excel avec un numéro pour chaque enregistrement qui doit être géré automatiquement.
Il faut que ça parcour la liste déjà existante et qu'on récupère le dernier numéro. Et faut incrémenter le numéro pour chaque nouvel enregistrement.

Est ce que quelqu'un peu m'aider ?
Afficher la suite 

2 réponses

Messages postés
7236
Date d'inscription
dimanche 8 avril 2007
Statut
Modérateur
Dernière intervention
9 juillet 2019
999
0
Merci
Bonsoir,

Tout d'abord, il faut créer une nouvelle fonction pour incrémenter un chiffre de 1:
Function NouveauNuméro(DerNum)
    NouveauNuméro = DerNum + 1
    End Function

Ensuite, si par exemple les numéros se trouvent dans la colonne A dans les cellules A2, A3, A4....An
Une macro qui va chercher ce dernier numéro créé dans An et qui l'augmente de 1 et écrit ce nouveau numéro dans A(n+1) :
Sub AffecteNouveauNum()

    Dim DerNum As Integer    'DerNum est le denier numéro créé

    DerNum = Range("A2").End(xlDown).Value
    NouveauNum = NouveauNuméro(DerNum)
    DerCell = Range("A2").End(xlDown).Address   'DerCell est la dernière cellule contenant l dernier numéro
    Range(DerCell).Activate
    ActiveCell.Offset(1, 0).Value = NouveauNum  'écrit le nouveau numéro dans la cellule vide en dessous
    
End Sub


Voilà j'espère que cela t'aidera ou te donnera une piste

Bonne nuit



Messages postés
1
Date d'inscription
vendredi 7 juin 2013
Statut
Membre
Dernière intervention
7 juin 2013
0
Merci
Bonjour,

J'ai le même problème que spaceshipone j'ai donc suivi votre méthode mais le programme ne m'incrémente que des 0.
Savez vous d'ou cela peut venir ?
Je précise que je suis novice en VBA.

Merci d'avance.
michel_m
Messages postés
15913
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
17 septembre 2019
2793 -
Bonjour

avec une ent^te en A1 (par ex: Numero) et la colonne A réservée aux numéros

Option Explicit
Sub incrementer()
Dim Num As Integer, Cellule As Range

     Num = Application.Max(Columns("A")) + 1
     Set Cellule = Columns("A").Find("", Range("A1"))
     Cellule = Num
End Sub