Comment décaler un texte (dans sa cellule) sous condition d'une autre

Bonjour à tous,

Je souhaiterai effectuer un décalage du texte (en vert) afin d'obtenir un texte décalé (en bleu) :

capture d ecran

Pour l'exemple j'ai fais le décalage en faisant manuellement des espaces.

J'ai fait plusieurs "mise en forme conditionnelles" qui change les polices d'écritures en fonction du niveau choisi mais j'aimerai pour améliorer la lisibilité faire ce décalage en plus.

je n'y parviens pas j'ai essayer avec les fonctions : Si() / Si(OU() / Si(ET() / ajoutespace() et je ne suis pas très fort sur VBA...

Merci pour votre aide.

A bientôt Nico.

Bonjour et

Si tu as déja des mises en forme conditionnelles, tu peux modifier le type de texte et mettre :

"     " @
image

Sinon par VBA, tu peux avoir un truc du type (juste pour les retraits)

Cells(ActiveCell.Row + 1, ActiveCell.Column).InsertIndent 1
Cells(ActiveCell.Row + 2, ActiveCell.Column).InsertIndent 2
Cells(ActiveCell.Row + 3, ActiveCell.Column).InsertIndent 3

La cellule active étant la cellule "ENSEMBLE", tu met un retrait a la ligne du dessous, puis 2 puis 3.

A+

Bonjour,

Avec VBA (mets la macro dans le module de la feuille. L'indentation varie quand tu mets ou ôtes les X (majuscules)) :

Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Column > 1 And Target.Column < 9 Then
    If Cells(Target.Row, 10) <> "" Then
      For i = 8 To 2 Step -1
        If Cells(Target.Row, i) = "X" Then
          Cells(Target.Row, 10).IndentLevel = i - 1
          Exit Sub
        End If
      Next i
      Cells(Target.Row, 10).IndentLevel = 0
    End If
  End If
End Sub

Daniel

Merci a tous les deux.

effectivement ca fonctionne avec les mises en forme conditionnelles et c'est très simple.

Je test avec VBA (pas facile pour moi) mais MERCI BEAUCOUP

Rechercher des sujets similaires à "comment decaler texte condition"