COMPTER DES CELLULES NON VIDES (VBA 2007)

Bonjour à tous et à toutes.

Je cherche à compter le nombre de cellules non vides cela via le VBA

Voici un extrait du code sur lequel je travaille:

 Private Sub CommandButton1VALIDER_MODIF_Click()

'DESACTIVER et rendre INVISIBLE le bouton "ANNULER"
Me.CommandButton2ANNULER_MODIF.Enabled = False
Me.CommandButton2ANNULER_MODIF.Visible = False

Dim NbreDESTACT As Integer
Dim NbreDESTINF As Integer

   '--- Contrôles
'VERIFICATION DU CHAMP "HEURE"
'EST-IL AU BON FORMAT (HH:MM) ?
  If Not IsTime(TextBox44HEUREMODIF) Then
        MsgBox "Saisir l'heure au format HH:MM !!!"
          Me.TextBox44HEUREMODIF.Value = ""
            Me.TextBox44HEUREMODIF.SetFocus
  Exit Sub
 End If

 'VERIFICATION DES CHAMPS "DESTINATAIRE COURRIER ARRIVEE" "POUR ACTION" ET
'"DESTINATAIRES COURRIER DEPART" "ACTION"
'SONT-ILS RENSEIGNES ?
If Me.TextBox53_ARRACTIONMODIF = "" And Me.TextBox54DEPART_ACTION_MODIF01 = "" Then
    MsgBox "Saisir un DESTINATAIRE", vbOKOnly + vbExclamation, "DESTINATAIRE"
    Exit Sub
End If

   '--- Positionnement dans la base =0=0=0=0=0=0=0=0=0=0=0 compter à partir de ce positionnement
   ActiveCell.Offset(0, -3).Select
   '--- Transfert Formulaire dans BD
   'LA DATE
   ActiveCell.Value = Me.DTPicker22_MODIF.Value
   'L'HEURE
   ActiveCell.Offset(0, 1).Value = Me.TextBox44HEUREMODIF.Value
   'LA SOURCE
   ActiveCell.Offset(0, 8).Value = Me.TextBox49_SOURCEMODIF.Value
   'TYPE DE MSG
   ActiveCell.Offset(0, 9).Value = Me.TextBox50_TYPEMODIF.Value
      'MSG DEPART POUR ACTION
   ActiveCell.Offset(0, 11).Value = Me.TextBox54DEPART_ACTION_MODIF01.Value

   ActiveCell.Offset(0, 12).Value = Me.TextBox56DEPART_ACTION_MODIF02.Value

   ActiveCell.Offset(0, 13).Value = Me.TextBox58DEPART_ACTION_MODIF03.Value

   ActiveCell.Offset(0, 14).Value = Me.TextBox60DEPART_ACTION_MODIF04.Value

   ActiveCell.Offset(0, 15).Value = Me.TextBox62DEPART_ACTION_MODIF05.Value

   'MSG DEPART POUR INFO
   ActiveCell.Offset(0, 20).Value = Me.TextBox55DEPARTinfoMODIF01.Value
   ActiveCell.Offset(0, 21).Value = Me.TextBox57DEPARTinfoMODIF02.Value
   ActiveCell.Offset(0, 22).Value = Me.TextBox59DEPARTinfoMODIF03.Value
   ActiveCell.Offset(0, 23).Value = Me.TextBox61DEPARTinfoMODIF04.Value
   ActiveCell.Offset(0, 24).Value = Me.TextBox63DEPARTinfoMODIF05.Value

   'COMPTER LES CELLULES NON VIDES  =0=0=0=0=0=0=0=0=0=0=0=0=0=0 VOICI LES LIGNES A PROBLEME

 NbreDESTACT = WorksheetFunction.CountA(ActiveCell.Cells(0, 11), ActiveCell.Cells(0, 15))

NbreDESTINF = WorksheetFunction.CountA(ActiveCell.Offset(0, 20) & ":" & ActiveCell.Offset(0, 24))

'=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0

 Select Case NbreDESTACT

Case Is = 1
Range("R" & derLig).Value = " - " & Range("L" & derLig).Value

Case Is = 2
Range("R" & derLig).Value = " - " & Range("L" & derLig).Value & Chr(10) & " - " & Range("M" & derLig).Value

Case Is = 3
Range("R" & derLig).Value = " - " & Range("L" & derLig).Value & Chr(10) & " - " & Range("M" & derLig).Value _
& Chr(10) & " - " & Range("N" & derLig).Value

Case Is = 4
Range("R" & derLig).Value = " - " & Range("L" & derLig).Value & Chr(10) & " - " & Range("M" & derLig).Value _
& Chr(10) & " - " & Range("N" & derLig).Value & Chr(10) & " - " & Range("O" & derLig).Value

Case Is = 5
Range("R" & derLig).Value = " - " & Range("L" & derLig).Value & Chr(10) & " - " & Range("M" & derLig).Value _
& Chr(10) & " - " & Range("N" & derLig).Value & Chr(10) & " - " & Range("O" & derLig).Value & Chr(10) & " - " & Range("P" & derLig).Value

End Select

Select Case NbreDESTINF

Case Is = 1
Range("S" & derLig).Value = " - " & Range("U" & derLig).Value

Case Is = 2
Range("S" & derLig).Value = " - " & Range("U" & derLig).Value & Chr(10) & " - " & Range("V" & derLig).Value

Case Is = 3
Range("S" & derLig).Value = " - " & Range("U" & derLig).Value & Chr(10) & " - " & Range("V" & derLig).Value _
& Chr(10) & " - " & Range("W" & derLig).Value

Case Is = 4
Range("S" & derLig).Value = " - " & Range("U" & derLig).Value & Chr(10) & " - " & Range("V" & derLig).Value _
& Chr(10) & " - " & Range("W" & derLig).Value & Chr(10) & " - " & Range("X" & derLig).Value

Case Is = 5
Range("S" & derLig).Value = " - " & Range("U" & derLig).Value & Chr(10) & " - " & Range("V" & derLig).Value _
& Chr(10) & " - " & Range("W" & derLig).Value & Chr(10) & " - " & Range("X" & derLig).Value & Chr(10) & " - " & Range("Y" & derLig).Value

End Select

   'BAPTEME
   ActiveCell.Offset(0, 25).Value = Me.TextBox51_BAPTEMEMODIF.Value
   'OBJET
   ActiveCell.Offset(0, 26).Value = Me.TextBox46OBJETMODIF.Value
   'OBSERVATIONS
   ActiveCell.Offset(0, 27).Value = "MODIFIE LE " & Now
   'MSG ARRIVEE POUR ACTION
   ActiveCell.Offset(0, 10).Value = Me.TextBox53_ARRACTIONMODIF.Value
   'REPOSITIONNER DANS LA BASE
    ActiveCell.Offset(0, 3).Select

End Sub

Après positionnement dans la base de données j'exécute les éventuelles modifications et à partir de cette position j'ai besoin de connaître le nombre de cellules NON VIDES des colonnes 11; 12; 13; 14; 15 de la ligne de positionnement initial.

Je souhaite compter les cellules NON vides

COMPTER LES CELLULES NON VIDES =0=0=0=0=0=0=0=0=0=0=0=0=0=0 VOICI LES LIGNES A PROBLÈME

'Pour les colonnes de 11 à 15

NbreDESTACT = WorksheetFunction.CountA(ActiveCell.Cells(0, 11), ActiveCell.Cells(0, 15))

'Pour les colonnes de 20 à 24

NbreDESTINF = WorksheetFunction.CountA(ActiveCell.Offset(0, 20) & ":" & ActiveCell.Offset(0, 24))

mais la syntaxe n'est pas bonne et donc le résultat est systématiquement FAUX

Qui peut m'indiquer la bonne syntaxe ?

MERCI D'AVANCE

CoutA veut une plage et n'a qu'un arguement

ça ça ne veut rien dire :

NbreDESTACT = WorksheetFunction.CountA(ActiveCell.Cells(0, 11), ActiveCell.Cells(0, 15))

ça c'est faux

NbreDESTINF = WorksheetFunction.CountA(ActiveCell.Offset(0, 20) & ":" & ActiveCell.Offset(0, 24))

remplace par

NbreDESTINF = WorksheetFunction.CountA(range(ActiveCell.Offset(0, 20), ActiveCell.Offset(0, 24)))

Merci pour cette solution

les deux lignes fonctionnent et donnent le bon résultats je vais pouvoir continuer merci

Merci EngueEngue

et bonne semaine à toi

Rechercher des sujets similaires à "compter vides vba 2007"