Compter les cellules non vides (hors formules) d'une zone.

Victor21

XLDnaute Barbatruc
Bonjour !!!

Je ne parviens pas à corriger ce code :
VB:
 'Test s'il y a des données à copier
    Dim compte As Long
    compte = Application.WorksheetFunction.Count(ThisWorkbook.Sheets("Saisie").Range("A7 :O" & DerligSaisie).SpecialCells(xlConstants))
    If compte = 0 Then
        MsgBox "Rien à sauver."
        Exit Sub
    End If

    With ThisWorkbook.Sheets("Saisie")
        .Range("A7 :O" & DerligSaisie).Copy
        wb.Sheets("Archive").Range("B" & DerligHisto).PasteSpecial Paste:=xlPasteValues
        .Range("A7 :O" & DerligSaisie).SpecialCells(xlConstants).ClearContents
    End With
End Sub
Lorsqu'il y a des cellules à copier, ça marche. Quand il n'y en a pas, j'ai une erreur 1004 "Pas de cellules correspondantes".
Je ne comprends pas pourquoi on ne sort pas du test ?

D'avance, merci à qui pourra m'aiguiller.

Edit : l'erreur se produit sur la ligne compte = ...
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : Compter les cellules non vides (hors formules) d'une zone.

Bonsoir,

peut être comme ceci :
Code:
Dim compte As Long
compte = Application.CountA(Range("A1:F1"))

A noter, c'est "specialcells" qui renvoie l'erreur si pas de cellule répondant au critère...
bonne soirée
@+
 

Victor21

XLDnaute Barbatruc
Re : Compter les cellules non vides (hors formules) d'une zone.

Re, Pierrot.

Merci pour ta proposition, en fait j'ai besoin de verifier si la zone contient au moins une donnée en dur, car plus loin, j'efface uniquement les cellules de cette zone, en conservant les formules, et si je ne teste pas, le message réapparaitra.

Je suis preneur de toute nouvelle piste.
 

Fo_rum

XLDnaute Accro
Re : Compter les cellules non vides (hors formules) d'une zone.

Bonsoir,

peut-être en rajoutant la première ligne
Code:
On Error Resume Next
    compte = ThisWorkbook.Sheets("Saisie").Range("A7 :O" & DerligSaisie).SpecialCells(xlConstants).Count
    If compte = 0 Then
    ...
 

Victor21

XLDnaute Barbatruc
Re : Compter les cellules non vides (hors formules) d'une zone.

Bonsoir, et merci, Fo_rum

Cette proposition annule bien le message d'erreur.

Je vais maintenant tester s'il n'y a pas de dommages collatéraux avec le reste du code.
 

Discussions similaires

Réponses
7
Affichages
429

Statistiques des forums

Discussions
312 571
Messages
2 089 809
Membres
104 278
dernier inscrit
LENZY