Compter le nbre #N/A sur plusieurs Feuilles

Compter le nbre #N/A sur plusieurs Feuilles - VB/VBA/VBS - Programmation

Marsh Posté le 27-09-2011 à 10:28:57    

Bonjour,
 
Voilà j'ai remplis des tableaux sur 16 feuilles à l'aide de formules & vlookup mais parfois, j'ai des #N/A et je voudrais qu'à la fin de la macro, que VBA m'informe du nombre de #N/A.
 
Je précise que tous les tableaux sont identiques:
 
Je suppose qu'il faut utiliser une variable fixe mais j'ignore où l'a placer?
 
voici une piètre tentative? "n" étant le nbre de #N/A
 
'Calculer le nombre de #N/A
 
Dim n As Long
ws as worksheets
 
 
For Each ws In Worksheets
 
n = n + 1
 
    If ws.Name Like "FC ???" Then
        ws.Activate
        On Error Resume Next
        If WorksheetFunction.IsNA(WorksheetFunction.Count(Range("B3:L14" ))) Then
        MsgBox "Nombre d'erreurs: " + n

 
 
Je vous remercie d'avance
Coellophysis

Reply

Marsh Posté le 27-09-2011 à 10:28:57   

Reply

Marsh Posté le 27-09-2011 à 21:05:15    

Salut,
 
Ta macro est un bon début, je l'ai reprise pour la compléter :
 

Code :
  1. 'Calculer le nombre de #N/A
  2. Sub CompterNA()
  3. Dim cellule As Range
  4. Dim nombreNA As Long
  5. Dim message As String
  6. Dim feuille As Worksheet
  7. For Each feuille In ActiveWorkbook.Worksheets ' On parcoure l'ensemble de feuilles
  8.    
  9.     nombreNA = 0 ' Initialisation du nombre de NA pour la feuille
  10.     If feuille.Name Like "FC ???" Then
  11.    
  12.         For Each cellule In feuille.Range("B3:L14" ) ' On parcoure les cellules de la plage B3:L14 et on compte les NA
  13.            
  14.             If WorksheetFunction.IsNA(cellule) Then
  15.                 nombreNA = nombreNA + 1
  16.             End If
  17.            
  18.         Next
  19.        
  20.         If nombreNA > 0 Then message = message & feuille.Name & " : " & nombreNA & vbCrLf  ' On complète le message avec le nombre de NAs de la page en cours
  21.        
  22.     End If
  23.    
  24. Next
  25. If Len(message) > 0 Then MsgBox "Nombre de #N/A :" & vbCrLf & message  ' On affiche le message s'il n'est pas vide
  26. End Sub


 
Cdt, n.


---------------
Si seulement tu connaissais le pouvoir du côté obscur. Obi-Wan ne t’a jamais dit ce qui est arrivé à ton père.
Reply

Marsh Posté le 27-09-2011 à 21:06:07    


'Calculer le nombre de #N/A
 
Sub CompterNA()
 
Dim cellule As Range
Dim nombreNA As Long
Dim message As String
Dim feuille As Worksheet
 
 
For Each feuille In ActiveWorkbook.Worksheets ' On parcoure l'ensemble de feuilles
     
    nombreNA = 0 ' Initialisation du nombre de NA pour la feuille
 
    If feuille.Name Like "FC ???" Then
     
        For Each cellule In feuille.Range("B3:L14" ) ' On parcoure les cellules de la plage B3:L14 et on compte les NA
             
            If WorksheetFunction.IsNA(cellule) Then
                nombreNA = nombreNA + 1
            End If
             
        Next
         
        If nombreNA > 0 Then message = message & feuille.Name & " : " & nombreNA & vbCrLf  ' On complète le message avec le nombre de NAs de la page en cours
         
    End If
     
Next
 
If Len(message) > 0 Then MsgBox "Nombre de #N/A :" & vbCrLf & message  ' On affiche le message s'il n'est pas vide
 
End Sub


---------------
Si seulement tu connaissais le pouvoir du côté obscur. Obi-Wan ne t’a jamais dit ce qui est arrivé à ton père.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed