Décaler une boucle par une case

Fermé
r4944 Messages postés 122 Date d'inscription vendredi 2 octobre 2015 Statut Membre Dernière intervention 3 mars 2017 - Modifié par r4944 le 13/04/2016 à 15:13
r4944 Messages postés 122 Date d'inscription vendredi 2 octobre 2015 Statut Membre Dernière intervention 3 mars 2017 - 13 avril 2016 à 17:33
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

Pierre1310 Messages postés 8564 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 21 juillet 2020 649
13 avril 2016 à 15:15
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
r4944 Messages postés 122 Date d'inscription vendredi 2 octobre 2015 Statut Membre Dernière intervention 3 mars 2017
13 avril 2016 à 15:23
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
Pierre1310 Messages postés 8564 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 21 juillet 2020 649
13 avril 2016 à 15:24
Ton i, il s'incrémente bien?
0
r4944 Messages postés 122 Date d'inscription vendredi 2 octobre 2015 Statut Membre Dernière intervention 3 mars 2017
13 avril 2016 à 15:30
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
Pierre1310 Messages postés 8564 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 21 juillet 2020 649
13 avril 2016 à 15:34
Qu'entends-tu par alterner?
0
r4944 Messages postés 122 Date d'inscription vendredi 2 octobre 2015 Statut Membre Dernière intervention 3 mars 2017
13 avril 2016 à 15:43
décaler de colonne en colonne **
0