Cellule vide comptabilisée comme non vide
Salut à tous,
J'utilise la worksheetFunction.CountA pour compter mon nombre de cellules non vides d'une plage mais ça me retourne toujours que toutes les cellules de ma plage sont pleines alors que non (1 seule cellule est réellement vide mais la fonction me retourne 3). Et pourtant je n'ai AUNCUNE FORMULES dans ces cellules vides Et je n'ai donné de nom à aucune de ces cellules.
Voici ce que j'utilise ainsi qu'une capture de la plage que je veux controler:
For i = Première_ligne To Dernière_ligne
Ma_plage = Cells(i, col_Nom_du_fichier).Resize(1, 3)) 'Ici ma plage donne donc 3 cellules contiguës
Debug.Print WorksheetFunction.CountA(Ma_plage) ' Toujours = 3
If WorksheetFunction.CountA(Ma_plage) = 0 Then Rows(i).EntireRow.Delete 'Cette condition n'est jamais remplie du coup ;(
NextMa_plage étant dynamique (elle est dans une boucle for), j'ai surligné en jaune Ma_plage (pour i=0) pour que vous vous représentiez mieux le soucis:
Je rappelle que les cellules sous "Description du fichier" et "Lien vers le fichier" ne contiennent aucune formules
Donc normalement WorksheetFunction.CountA(Ma_plage) devrait me retourner 1 (car une seule des 3 cellule n'est pas vide (elle contient la valeur 1):
Sauriez vous d'où vient le problème?
Merci pour votre aide toujours précieuse
Bonjour,
Sans code complet ou fichier représentatif ... Complexe. Une plage se définit régulièrement à l'aide de Set, de plus pas de qualification des objets, pas de déclaration des variables, on ne sait à quoi correspond les différentes variables (les valeurs qu'elles prennent ...).
Que donne le code suivant :
Sub ESSAI()
Dim I As Byte, Ma_Plage As Range
With ActiveSheet
For I = 2 To 6
Set Ma_Plage = .Cells(I, 3).Resize(1, 3)
Debug.Print WorksheetFunction.CountA(Ma_Plage)
If WorksheetFunction.CountA(Ma_Plage) = 0 Then .Rows(I).EntireRow.Delete
Next
End With
End SubCdlt,
Bonjour Ergotamine,
Merci infiniment pour ta réponse très claire et concise.
J’ai réussi à régler le problème car en effet tu as raison, je pense que le soucis venait du fait que j’ai oublié le Set (je le mets toujours normalement, là c’est de l’étourderie 😩)
J’ai remplacé par CellBlank au passage...
Encore merci pour ton aide, tu m’a donné la bonne reponse 😎
Excellente nuit à toi