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,

    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
    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