Attribution automatique d'un numéro si cellule remplie

  • Initiateur de la discussion Initiateur de la discussion maval
  • 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 !

Re : Attribution automatique d'un numéro si cellule remplie

Bonjour maval, Patrick,

Je verrais plutôt en A3, pour que les numéros se suivent :

Code:
=SI(B3="";"";MAX(A$1:A2)+1)
qu'on peut utiliser ainsi en VBA :

Code:
Sub Numéroter()
On Error Resume Next 'si feuille vide
With Intersect(Range("A2:A" & Rows.Count), ActiveSheet.UsedRange.EntireRow)
  .FormulaR1C1 = "=IF(RC[1]="""","""",MAX(R1C:R[-1]C)+1)"
  .Value = .Value 'supprime les formules
End With
End Sub
A+
 
Re : Attribution automatique d'un numéro si cellule remplie

Re, hello JM,

Avec un tableau organisé en "Tableau" nommé "Tableau1", le code de la feuille :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [Tableau1]) Is Nothing Then Exit Sub
Application.EnableEvents = False
With [Tableau1].Columns(1)
  .FormulaR1C1 = "=IF(RC[1]="""","""",MAX(R" & .Row - 1 & "C:R[-1]C)+1)"
  .Value = .Value 'supprime les formules
End With
Application.EnableEvents = True
End Sub
Fichier joint.

A+
 

Pièces jointes

Re : Attribution automatique d'un numéro si cellule remplie

Re,

En fait dans un tableau on numérote normalement toutes les liges :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [Tableau1]) Is Nothing Then Exit Sub
Application.EnableEvents = False
With [Tableau1].Columns(1)
  .Cells(1) = 1
  .DataSeries
End With
Application.EnableEvents = True
End Sub
Fichier (2).

A+
 

Pièces jointes

Re : Attribution automatique d'un numéro si cellule remplie

Bonjour maval, le forum,

Sur Excel 2003, quand on organise le tableau sous forme de "Liste", il se crée le nom masqué _FilterDataBase qui inclut les en-têtes :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [_FilterDataBase]) Is Nothing Then Exit Sub
Application.EnableEvents = False
With [_FilterDataBase].Columns(1)
  .Cells(2) = 1
  .Cells(2).Resize(.Rows.Count - 1).DataSeries
End With
Application.EnableEvents = True
End Sub
Fichier .xls joint, j'irai voir ce qu'il donne sur Excel 2010 .

Edit : pas de problème sur Excel 2010.

En plus du nom "_FilterDataBase" le tableau sans les en-têtes est nommé "Liste1"...

Bonne journée.
 

Pièces jointes

Dernière édition:
Re : Attribution automatique d'un numéro si cellule remplie

Bonjour Job

Ont arrête pas le progrès.

J'aurais une question a vous poser si vous le permettait. J'ai comme vous avez certainement constater un nombre inconsidérable de Shapes.
Je doit toutes les renommer et je passe un temps fou. Au départ ils se nomme Fremond je crois et je les renomme "SP- "00" Y a t-il un code que l'ont puisse faire pour renommer sans trop perdre de temps ??

MERCI D'AVANCE
Je me tiens a votre disposition si vous avez besoin d'un fichier.
 
- 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

Discussions similaires

Réponses
5
Affichages
142
Réponses
2
Affichages
73
Réponses
12
Affichages
338
Réponses
18
Affichages
373
Réponses
7
Affichages
259
Réponses
3
Affichages
217
Réponses
6
Affichages
260
Retour