Bouvle For...Next

boudha74

XLDnaute Nouveau
Bonjour,

je suis debut vba et j'aurai besoin de votre aide pour écrire une boucle.

Ca fonctionne lorsque je traite une colonne. ci dessous :

Code:
For i = 4 To 23

    If Range("C" & i).Value > 5 Then
    MsgBox "L'employé " & " " & Range("A" & i) & " est positionné dans le planning plus de 5 jours d'affilés", vbOKOnly + vbInformation, "Avertissement !!!"

En revanche quand je veux traiter les autres colonnes, je ne sais pas comment l'ecrire

Merci de votre aide.

Code:
Private Sub Worksheet_Calculate()

' Verifie le nombre de jours travaillés d'affilés

Dim i As Integer

For i = 4 To 23

    If Range("C" & i).Value > 5 Then
    MsgBox "L'employé " & " " & Range("A" & i) & " est positionné dans le planning plus de 5 jours d'affilés", vbOKOnly + vbInformation, "Avertissement !!!"
    
     If Range("F" & i).Value > 5 Then
    MsgBox "L'employé " & " " & Range("A" & i) & " est positionné dans le planning plus de 5 jours d'affilés", vbOKOnly + vbInformation, "Avertissement !!!"
   
     If Range("I" & i).Value > 5 Then
    MsgBox "L'employé " & " " & Range("A" & i) & " est positionné dans le planning plus de 5 jours d'affilés", vbOKOnly + vbInformation, "Avertissement !!!"

     If Range("L" & i).Value > 5 Then
    MsgBox "L'employé " & " " & Range("A" & i) & " est positionné dans le planning plus de 5 jours d'affilés", vbOKOnly + vbInformation, "Avertissement !!!"

     If Range("O" & i).Value > 5 Then
    MsgBox "L'employé " & " " & Range("A" & i) & " est positionné dans le planning plus de 5 jours d'affilés", vbOKOnly + vbInformation, "Avertissement !!!"

     If Range("R" & i).Value > 5 Then
    MsgBox "L'employé " & " " & Range("A" & i) & " est positionné dans le planning plus de 5 jours d'affilés", vbOKOnly + vbInformation, "Avertissement !!!"

     If Range("U" & i).Value > 5 Then
    MsgBox "L'employé " & " " & Range("A" & i) & " est positionné dans le planning plus de 5 jours d'affilés", vbOKOnly + vbInformation, "Avertissement !!!"

End If
Next i
End Sub
 

Pierrot93

XLDnaute Barbatruc
Re : Bouvle For...Next

Bonjour,

peut être comme ceci, sans plus de détails difficile d'en dire plus :
Code:
Dim i As Long, c As Integer
For c = 3 To 21 Step 3
    For i = 4 To 23
    If Cells(i, c).Value > 5 Then MsgBox "L'employé " & " " & _
        Cells(i, c).Value & " est positionné dans le planning plus de 5 jours d'affilés", _
            vbOKOnly + vbInformation, "Avertissement !!!"
    Next i
Next c
bonne journée
@+
 

Dranreb

XLDnaute Barbatruc
Re : Bouvle For...Next

Bonjour.
Comme ceci:
VB:
Private Sub Worksheet_Calculate()

' Verifie le nombre de jours travaillés d'affilés

Dim L As Long, C As Long

For L = 4 To 23
   For C = 3 To 21 Step 3
      If Cells(L, C).Value > 5 Then MsgBox "L'employé " & " " & CellsL, 1) _
         & " est positionné dans le planning plus de 5 jours d'affilés", vbOKOnly + vbInformation, "Avertissement !!!"
      Next C
   Next L
End Sub
À+

Bonjour Pierrot93.
 
Dernière édition:

boudha74

XLDnaute Nouveau
Re : Bouvle For...Next

Bonjour Dranreb et Pierrot,

merci pour votre aide, c'est bien ce que je veux faire et j'ai compris maintenant le principe.

En revanche quand je compile le code il me met une erreur, j'ai copié betement le code y a t-il un espace ou autre chose qui pose probleme ?

Erreur de compilation Erreur de synthaxe
il met en rouge cette partie la du code

Code:
       If Cells(L, C).Value > 5 Then MsgBox "L'employé " & " " & CellsL, 1) _
          & " est positionné dans le planning plus de 5 jours d'affilés", vbOKOnly + vbInformation, "Avertissement !!!"
 

Statistiques des forums

Discussions
312 664
Messages
2 090 676
Membres
104 633
dernier inscrit
benabidwajih