• Initiateur de la discussion Initiateur de la discussion Marc
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

Marc

Guest
Bonjour à tous et toutes,

Quelqu'un pourrait me dire si il y est possible de creer un N° automatique sous Excel ( comme dans access).

Merci et bravo pour ce site
 
Bonsoir,

Ca ne sera pas 'comme sous Access', parce-qu'Excel n'est pas Access ;o))

Mais tu peux explorer différentes solutions.

La 1ere :
Démarrer ta numérotation en A2 (par exemple), et à partir de la cellule A3 intégrer la formule suivante :
=A2+1 puis la recopier vers le bas.

Tu peux aussi utiliser une formule du genre (sur toutes tes lignes) :
=1233+LIGNE()
Ce qui te fera un numéro auto qui sera 1233 + le N° de ligne où tu te trouves.

La 2nde :
Utiliser le VBA et l'évennement CHANGE de ta feuille,
mais là, c'est un peu plus long.
Avant de me lancer la dedans, une question :
En as-tu besoin (ou les formules suffisent-elles) ?
Si oui, comment est structurée ta feuille ?

A bientôt

Rai
 
Merci Rai,

Je ne peux pas utiliser la solution formule car je fais un tri sur une differente colonne et dans ce cas la valeur de la cellule de départ est erronée.
La feuille est structurée de façon suivante
N° de joueur Nom Prenom Age
??
N° Auto

C'est dans le but d'un travail pour mon épreuve integrée le sujet est Gestion d'un club de Foot.

Merci Bcq. pour ta réponse si rapide....

PS: Je sais qu'access n'est pas excel mdrrrrr 🙂
 
Bonjour,

Ci-Dessous une solution, parmi d'autres, en VBA.
La procédure est à insérer dans le code de la feuille concernée.
On considère que la saisie du nom de joueur est obligatoire, c'est elle qui déclenche la numAuto.
La numAuto commence à 1, et se réinitialise en cas d'effacement. Elle attribue un n° unique dans la liste des joeurs.
L'effacement des N° n'est pas géré (pas de protection)

Private Sub Worksheet_Change(ByVal Target As Range)
Col$ = "B"
Set ColAuto = Range(Col & ":" & Col)
'Lettre de la 1er colonne obligatoire
'Ici désigne la colonne 'Nom Joueur'
ColNum$ = "A"
Set NouvNum = Range(ColNum & Target.Row)
'Lettre de la colonne qui contient
'la numérotation automatique
If Not Intersect(Target, ColAuto) Is Nothing And NouvNum = "" Then
If Target.Cells.Count = 1 Then
NouvNum.Value = WorksheetFunction.Max(Range(ColNum & ":" & ColNum)) + 1
End If
End If
End Sub

Bonne journée

Rai
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
189
Réponses
12
Affichages
598
Réponses
4
Affichages
214
  • Question Question
XL 2019 B
Réponses
10
Affichages
442
Réponses
12
Affichages
472
Retour