Décaler une boucle par une case

Bonjour ,

y' a t-il une façon de décaler cette boucle par une cellule , en ce moment j'utilise cette boucle pour traiter des cases qui sont successives, j'aimerais bien l'utiliser pour des cases qui sont alternées.

 If Sheets(2).Cells(i, 44) = "OUT" And Sheets(2).Cells(i, 1) <> "" And Sheets(2).Cells(i, 3).Text Like "?*@?*.?*" Then
For Exp = 1 To 10
Select Case Exp
Case 1 To 10

If Sheets(2).Cells(i, 23 + Exp).Value = "DNM" And Sheets(2).Cells(4, 23 + Exp) = "Educ" Then
bodymessage(Exp - 1) = bodymessage(Exp - 1) & vbNewLine & " ** " & Sheets(1).Range("B19").Text & "<br/>"
fr(Exp) = fr(Exp) & vbNewLine & " ** " & Sheets(1).Range("E19").Text & "<br/>"
End If

If Sheets(2).Cells(i, 23 + Exp).Value = "DNM" And Sheets(2).Cells(4, 23 + Exp) = "EX1" Then
bodymessage(Exp - 1) = bodymessage(Exp - 1) & vbNewLine & " ** " & Sheets(1).Range("B25").Text & "<br/>"
fr(Exp) = fr(Exp) & vbNewLine & " ** " & Sheets(1).Range("E25").Text & "<br/>"
End If
If Sheets(2).Cells(i, 23 + Exp).Value = "DNM" And Sheets(2).Cells(4, 23 + Exp) = "EX2" Then
bodymessage(Exp - 1) = bodymessage(Exp - 1) & vbNewLine & " ** " & Sheets(1).Range("B26").Text & "<br/>"
fr(Exp) = fr(Exp) & vbNewLine & " ** " & Sheets(1).Range("E26").Text & "<br/>"
End If

1 réponse

  1. Bonjour,

    Si tu veux sauter des cases, il faut préciser la règle qui permet de le faire.
    Le code fait ce que tu lui dis de faire.
    0
    1. Bonjour ,
      j'ai essayé ce code la
       If Sheets(2).Cells(i, 23 + Exp+1).Value = "DNM" And Sheets(2).Cells(4, 23 + Exp) = "Educ" Then
      bodymessage(Exp - 1) = bodymessage(Exp - 1) & vbNewLine & " ** " & Sheets(1).Range("B19").Text & "<br/>"


      j'ai juste fais une addition de 1 , mais le probleme c'est je commence toujours de la premiere case ,
      0
    2. Ton i, il s'incrémente bien?
      0
    3. oui mais a un certain moment ça bloque , vu que je commence toujours de la premiere case
      y 'a t il une facon d'alterner cette boucle ?
          For Exp = 1 To 10 
      0
    4. Qu'entends-tu par alterner?
      0
    5. décaler de colonne en colonne **
      0