[EXCEL] Format de cellule de type n° hiérarchique

Format de cellule de type n° hiérarchique [EXCEL] - VB/VBA/VBS - Programmation

Marsh Posté le 04-10-2005 à 15:17:59    

Bonjour, Bonsoir au forum,  
 
Question délicate (gain approximatif pour la 1ère bonne réponse : mille ... fois merci  :lol: ) Je cherche le moyen d'attribuer un format de cellule qui soit de type hiérarchique comme suit :  
 
1  
1.1  
1.1.1  
1.1.2  
1.1.3  
1.2  
1.2.1  
1.2.2  
1.2.3  
1.2.4  
2  
2.1  
2.1.1  
2.1.1.1  
2.1.1.2  
Etc.  
 
Et ce, de telle sorte qu'il soit ensuite possible d'effectuer une copie relative en utilisant la poignée de recopie (et donc de haut en bas incrémentée). Alors rêve ou réalité ? Merci


Message édité par oaglas le 04-10-2005 à 15:25:02
Reply

Marsh Posté le 04-10-2005 à 15:17:59   

Reply

Marsh Posté le 06-10-2005 à 11:58:46    

Salut Oaglas
 
Le format de type hierarchique, ça existes pas dans excel il ne gére pas les hierarchie comme word peut le faire pour des textes (enfin à ma connaissance). Par contre tu peux sur une plage spécifée mettre en place un format qui varie en fonction de la valeur. Tu ne pourras pas incrementer ce format avec la poignée de recopie mais si tu peux figer la plage alors c'est faisable comme ça :
 

Code :
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. 'préciser la plage ici range ("A1:A50" )
  3. If Target.Column <> 1 Or Target.Row > 50 Then Exit Sub
  4. 'preicser que si c une plage on sort
  5. 'numberformat peut être appliqué à plussieurs mais pas si le format change
  6. If Target.Columns.Count <> 1 Or Target.Rows.Count <> 1 Then Exit Sub
  7. 'mettre en forme en fonction du cas
  8. MsgBox (Target.Value)
  9. Select Case Target.Value
  10.      Case Is = ""
  11.           Target.Select: Selection.NumberFormat = "General"
  12.      Case 0 To 9
  13.           Target.Select: Selection.NumberFormat = "0"
  14.      Case 10 To 99
  15.           Target.Select: Selection.NumberFormat = "0\.0"
  16.      Case 100 To 999
  17.           Target.Select: Selection.NumberFormat = "0\.0\.0"
  18.      Case 1000 To 9999
  19.           Target.Select: Selection.NumberFormat = "0\.0\.0\.0"
  20. End Select
  21. End Sub


Ca te donnera peut-être des pistes pour la suite.
bon courage


---------------
Je bidouillle c'est sur... Mais j'essaye de faire en sorte que ça marche ;-)
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed