Excel - Numérotation sur plusieurs niveaux

fring Messages postés 2 Statut Membre -  
fring Messages postés 2 Statut Membre -
Bonjour,

Je souhaiterais, à l'aide d'une Macro, automatiser la numérotation de mes lignes, dans la colonne B, sur 3 niveaux (1, 1.1 et 1.1.1) selon un repère (1, 2 et 3) que j'indiquerais dans la colonne A

Exemple :

colonne A .......... colonne B
repère .............. numérotation

1 ................... 1
2 ................... 1.1
2 ................... 1.2
2 ................... 1.3
3 ................... 1.3.1
3 ................... 1.3.2
2 ................... 1.4

1 ................... 2
2 ................... 2.1
2 ................... 2.2

1 ................... 3
2 ................... 3.1
3 ................... 3.1.1
3 ................... 3.1.2
2 ................... 3.2

Merci d'avance pour votre aide

3 réponses

Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 445
 
Bonjour Fring
Et pourquoi avec une macro.
Essayez ci joint , sachant que la présentation peut s'arranger.
http://www.cijoint.fr/cij75522428732252.xls
BCRDLMNT
PS: après vèrif du fichier, ne faits pas attention à l'incréme,ntation de la colonne A au dessous de ligne 25, c'est une erreur. En fait, cela fonctionne comme vous le souhaitez avec 1,2 ou 3, en supposant que, logiquement, il n'y a pas de 3 entre un 1 et un 2.
0
Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 445
 
Bonjour fring
Disparu?
...on aurait pourtant aimé savoir ce que devenait votre problème!
BCRDLMNT
0
fring Messages postés 2 Statut Membre
 
Bonjour Vaucluse,

Je suis désolé de pas avoir répondu plus tôt, j'ai été fort absent ces derniers temps.

Tout d'abord merci pour ta proposition mais elle ne me semble pas pratique à l'utilisation vu qu'il faut introduire des chiffres dans les 3 premières colonnes et qu'il faut également penser à dupliquer la formule de la colonne 4.
Finalement j'ai eu une réponse sur un autre forum qui me convient mieux et me donne vraiment le résultat souhaité.

Pour ceux que ça intéresseraient je met une copie de la macro ci-dessous

Sub NOMMACRO()
Dim i%, j%, k%, Arr%(1 To 99)
With Worksheets("Métré")
j = .Range("A65536").End(xlUp).Row
.Range(.Cells(2, 2), .Cells(j, 3)).Font.Bold = False
.Range(.Cells(2, 3), .Cells(j, 3)).Font.Underline = xlUnderlineStyleNone
For i = 2 To j
k = .Cells(i, 1)
If k > 0 Then
.Cells(i, 3) = IIf(k = 1, UCase(.Cells(i, 3)), LCase(.Cells(i, 3)))
Arr(k) = Arr(k) + 1
If k < 2 Then Arr(2) = 0
If k < 3 Then Arr(3) = 0
If k = 1 Then
.Cells(i, 2) = Chr(160) & Arr(1)
.Range(.Cells(i, 2), .Cells(i, 3)).Font.Bold = True
.Cells(i, 3).Font.Underline = xlUnderlineStyleSingle
End If
If k = 2 Then .Cells(i, 2) = Chr(160) & Chr(160) & Arr(1) & "." & Arr(2)
If k = 3 Then .Cells(i, 2) = Chr(160) & Chr(160) & Chr(160) & Arr(1) & "." & Arr(2) & "." & Arr(3)
If k > 3 Then .Range(.Cells(i, 1), .Cells(i, 2)).ClearContents
Else
.Cells(i, 2).ClearContents
End If
Next
.Cells(i, 1).Activate
End With
End Sub

Encore merci pour ton aide, toutes les suggestions sont toujours les bienvenues
A bientôt
Fred
0