Bonjour tout le monde,

Je reviens encore vers vous car j'ai une macro qui fonctionne à moitié et je sais pas ce qui ne marche pas.

Explication du fonctionnement de la macro ci dessous :
1- je teste si une cellule est vide :
dans mes onglets (2 à 19)
les lignes (1 à 9)
des colonnes (2 à max)
2- si la cellule est vide, j'envoie un message d'erreur indiquant les onglets (lignes et colonnes) ou la cellule est vide.

PROBLEME: ma macro me renvoie bien un message d'erreur de la 1er ligne de ma 2 eme colonne, alors que cette derniere n'est pas vide.


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
 
Option Explicit
Public Wk As Workbook
 
Sub Maj_BANDEAU()
    Dim i As Long
    Dim j As Long
    Dim l As Long 'feuille
 
    Dim lMaxCol As Long
    Dim lTrouveLigne As Long
 
    Application.ScreenUpdating = False
    lMaxCol = 0
    lMaxCol = Wk.Sheets(2).Cells(1, Sheets(2).Cells.Columns.Count).End(xlToLeft).column
 
    'Recuperation du classeur courant
    Set Wk = ActiveWorkbook
    If Wk Is Nothing Then Exit Sub
 
        For l = 2 To 19 'boucle de la feuille 2 à la feuille 19
            lTrouveLigne = 0
             For i = 1 To 9 'boucle sur les lignes de mon bandeau : ligne 1 à 9
                For j = 2 To lMaxCol 'boucle sur les colonnes de mon bandeau : colonne 2 à max
                    If Wk.Sheets(l).Cells(i, j) = "" Then  'tester si les cellules sont vides
                        lTrouveLigne = 1
                        Exit For
                    ElseIf lTrouveLigne = 0 Then 'si c'est vide envoyer un message d'erreur et arreter la macro
                        Application.StatusBar = .Sheets(l).Name
                        MsgBox "Problème de valeur sur les onglets ligne " & i & " Colonne " & j
                        'MsgBox "Des blancs dans les feuilles !" + CurrentWk.Sheets(l).Cells(i, j), vbCritical
                        Exit Sub
                    End If
                Next j
            Next i
        Next l
 
    Application.ScreenUpdating = True
End Sub