Faire une boucle

Résolu/Fermé
iliesss Messages postés 113 Date d'inscription mardi 14 septembre 2010 Statut Membre Dernière intervention 26 octobre 2014 - 3 févr. 2011 à 13:16
iliesss Messages postés 113 Date d'inscription mardi 14 septembre 2010 Statut Membre Dernière intervention 26 octobre 2014 - 6 juin 2011 à 11:44
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

ccm81 Messages postés 10854 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 26 avril 2024 2 404
3 févr. 2011 à 14:32
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
iliesss Messages postés 113 Date d'inscription mardi 14 septembre 2010 Statut Membre Dernière intervention 26 octobre 2014
6 févr. 2011 à 18:25
un grand merci mon ami ça marche très bien c'est bien ce que je veux.
0
ccm81 Messages postés 10854 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 26 avril 2024 2 404
6 févr. 2011 à 18:39
de rien, peux tu mettre le pb a resolu ?

bonne suite
0
iliesss Messages postés 113 Date d'inscription mardi 14 septembre 2010 Statut Membre Dernière intervention 26 octobre 2014
5 juin 2011 à 10:30
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
ccm81 Messages postés 10854 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 26 avril 2024 2 404
Modifié par ccm81 le 5/06/2011 à 11:10
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
iliesss Messages postés 113 Date d'inscription mardi 14 septembre 2010 Statut Membre Dernière intervention 26 octobre 2014
5 juin 2011 à 11:45
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
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