Bonjour à toutes et tous,

Dans cette discussion,
https://www.developpez.net/forums/d2...ormat-tableau/
Philippe Tulliez propose le code suivant pour trouver la 1ère cellule vide dans une colonne.
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
Sub t11()
  Dim rng As Range
  Dim Cell As Range
  Set rng = Range("Cpta_Test").ListObject.ListColumns(1).DataBodyRange ' ListColumns(1) = 1ère colonne du tableau
  ' Il est possible également de remplacer l'indice 1 par le nom de la colonne
  'Set rng = Range("Cpta_Test").ListObject.ListColumns("Mois").DataBodyRange ' ListColumns("Mois") = 1ère colonne du tableau
  On Error Resume Next
  Set Cell = Range("Cpta_Test").SpecialCells(xlCellTypeBlanks)(1)
  If Err.Number Then
     MsgBox "Pas de cellule vide"
    Else
     MsgBox "Première cellule vide " & Cell.Address
  End If
  On Error GoTo 0
  Set rng = Nothing: Set Cell = Nothing
End Sub
La recherche se fait sur la colonne D soit la 1ère colonne (indice(1)) du tableau "Cpta_Test" à savoir la colonne nommée "Mois".
Dans mon tableau test, le résultat de la recherche doit être la cellule D32.
Mais le résultat retourné est G15. Cette cellule est bien la première de la colonne G.

Je ne comprends pas pourquoi il va chercher sur la 4ème colonne du tableau.

Si je remplace ligne 8 Set Cell = Range("Cpta_Test").SpecialCells(xlCellTypeBlanks)(1) le (1) par (0), le résultat retourné est G14.
Si je supprime ligne 8 Set Cell = Range("Cpta_Test").SpecialCells(xlCellTypeBlanks)(1) le (1), le résultat retourné est la liste de toutes les cellules vides du tableau.

Merci pour votre aide

Philippe