Problème dans le code

Bonjour,

Je ne sais pas pourquoi mais au bout d'un moment la boucle s'arrête et ça ne m'affiche plus ce que je veux.

Dim recl As String
Dim i As Long
Dim Date_Precise As Date
Dim Date_Max As Date

recl = ""
Date_Precise = #7/1/2013#
Date_Max = DateSerial(Year(Date), Month(Date) + 0, -1)
For i = 6 To 1000
If Sheets("Audit").Range("G" & i).Value >= Date_Precise And _
Sheets("Audit").Range("G" & i).Value < Date And Not IsEmpty(Sheets("Audit").Range("G" & i)) Then
recl = recl & vbNewLine & Range("A" & i) & Space(1) & Range("B" & i) & Space(3) & Range("C" & i) & Space(3) & Range("D" & i) & Space(3) & Range("E" & i)
End If
Next i
If recl <> "" And Not ThisWorkbook.ReadOnly Then
MsgBox "Suivi du stagiaire en chaine 6 des mois précédents :" & vbNewLine & recl, vbOKOnly, "Suivi du stagiaire en chaine 6 des mois précédent, Serrage au Couple"
Else
End If

Cdlt.

Bonjour,

Bonjour,

Je ne peux pas envoyer le fichier, juste je ne comprend pas pour la boucle for s'arrête alors qu'avant ça fonctionné.

Cdlt.

Bonjour,

Je viens de trouver, j'ai retiré 3 Range donc il me reste le Range("A" & i) & Range("B" & i). Des que j'en rajoute la MsgBox ne les prends pas comme si il n'y avait plus de place.

Cdlt.

Re,

A tester en ouvrant la fenêtre 'Exécution' dans VBE (Ctrl + G).

(valeurs à effacer par la suite tout comme les debug.print)

Option Explicit
Public Sub test()
Dim ws As Worksheet, _
    recl As String, _
    i As Long, _
    Date_Precise As Date, Date_Max As Date

    Application.ScreenUpdating = False

    Set ws = Worksheets("Audit")
    recl = Empty
    Date_Precise = #7/1/2013#
    Debug.Print Date_Precise
    Date_Max = DateSerial(Year(Date), Month(Date) + 0, 0)   ' fin de mois?
    Debug.Print Date_Max
    With ws
        For i = 6 To 1000
        ' cette boucle suppose que l'on une seule date en colonne G, sinon recl ?? (nb caractères!)
            If IsDate(.Cells(i, "G")) And .Cells(i, "G") >= Date_Precise And .Cells(i, "G") < Date Then
                recl = recl & _
                    vbNewLine & .Range("A" & i) & _
                    Space(1) & .Range("B" & i) & _
                    Space(3) & .Range("C" & i) & _
                    Space(3) & .Range("D" & i) & _
                    Space(3) & .Range("E" & i)
                    Debug.Print recl
            End If
        Next i
    End With

    If recl <> "" And Not ThisWorkbook.ReadOnly Then
        MsgBox _
            "Suivi du stagiaire en chaine 6 des mois précédents :" & _
            vbNewLine & recl, vbOKOnly, _
            "Suivi du stagiaire en chaine 6 des mois précédent, Serrage au Couple"
    End If

    Set ws = Nothing

End Sub

Bonjour,

J'ai bien fait ce que tu as dis, et maintenant dans la msgbox, il n'affiche rien.

Cdlt.

Re,

Mais que dit la fenêtre exécution?

Cdlt.

Bonjour,

Erreur de compilation :

Incorrect dans le volet Exécution.

Cdlt.

Rechercher des sujets similaires à "probleme code"