Faire une boucle

Résolu
Bonjour,
SVP comment faire une boucle pour mettre ce code fonction pour toutes les lignes des mon tableau
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("A2") > 0 Then
Range("E2").FormulaR1C1 = "=RC[-2]+RC[-1]"
Else
End If
If Range("b2").Value = "1" Then
Range("b2").Value = "ilies"
Else
End If
If Range("b2").Value = "2" Then
Range("b2").Value = "mimi"
Else
End If
If Range("b2").Value = "3" Then
Range("b2").Value = "nono"
Else
End If
End Sub

merci

2 réponses

  1. bonjour
    on peut alleger le code avec un select case

    Const lideb = 2
    Const lifin = 20
    Dim li As Long, co As Long, nbli As Long
    For li = lideb To lifin
      If Cells(li, 1) > 0 Then
        Cells(li, 5).FormulaR1C1 = "=RC[-2]+RC[-1]"
      End If
      Select Case Cells(li, 2).Value
        Case "1"
          Cells(li, 2).Value = "ilies"
        Case "2"
          Cells(li, 2).Value = "mimi"
        Case "3"
          Cells(li, 2).Value = "nono"
       End Select
      Next li


    RQ1. Les valeurs de la colonne 2 (B) sont elles bien des chaines de caracteres comme tu l'as ecrit
    RQ2. Les valeurs de la colonne 2 (B) sont remplacées par ton code. est ce normal ?

    bonne suite
    0
    1. un grand merci mon ami ça marche très bien c'est bien ce que je veux.
      0
    2. de rien, peux tu mettre le pb a resolu ?

      bonne suite
      0
    3. bonjour
      SVP mon ami comment ajouter cette ligne a ton code
      Cells(li, 2).value=Cells(li-1, 2) c'est a dire
      si je n'écris rien dans la cellule (li , 2) elle garde la valeur de la cellule précédente ou bien la cellule (li, 2) par défaut égale la valeur de la cellule précédente
      0
    4. re

      ajoutes le cas où la cellule est vide à la liste des cas

          Case "" 
            Cells(li, 2).Value = Cells(li - 1, 2).Value

      bon dimanche
      0
    5. re
      merci
      j'ai ajouter le code dans la liste des cas mais il affiche le résultat sur 20 lignes après
      alors je le mettre dans la liste des conditions mais ça marche pas
      0
  2. bonjour,

    voici le code :

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    i = 2
    j = 1
    Do While Cells(i, 1) <> ""
    If Cells(i, j) > 0 Then
    Cells(i, j + 4).FormulaR1C1 = "=RC[-2]+RC[-1]"
    End If
    If Cells(i, 2) = "1" Then
    Cells(i, 2) = "ilies"
    Else
    If Cells(i, 2) = "2" Then
    Cells(i, 2) = "mimi"
    Else
    Cells(i, 2) = "nono"
    End If
    End If
    i = i + 1
    Loop
    End Sub
    -1