Faire une boucle

Résolu
iliesss Messages postés 92 Date d'inscription   Statut Membre Dernière intervention   -  
iliesss Messages postés 92 Date d'inscription   Statut Membre Dernière intervention   -
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. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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. iliesss Messages postés 92 Date d'inscription   Statut Membre Dernière intervention  
       
      un grand merci mon ami ça marche très bien c'est bien ce que je veux.
      0
    2. ccm81 Messages postés 11033 Statut Membre 2 434
       
      de rien, peux tu mettre le pb a resolu ?

      bonne suite
      0
    3. iliesss Messages postés 92 Date d'inscription   Statut Membre Dernière intervention  
       
      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. ccm81 Messages postés 11033 Statut Membre 2 434
       
      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. iliesss Messages postés 92 Date d'inscription   Statut Membre Dernière intervention  
       
      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. melanie1324
     
    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