Compter le nombre de caractères dans un fichier Excel

  • Initiateur de la discussion Initiateur de la discussion MJ13
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

MJ13

XLDnaute Barbatruc
Bonjour à tous

Je cherche en ayant un fichier Excel ouvert à savoir combien j'ai de caractères dans le fichier, en VBA ou en formule, si c'est possible.

Merci d'avance 🙂.
 
Re : Compter le nombre de caractères dans un fichier Excel

Bonjour

Tu peux faire avec :
Code:
=SOMME(NBCAR(A1:B20))
en matriciel (ctrl+maj+entrer)

pour connaitre le nombre de caractères contenus dans la plage A1:B20

@ plus
 
Dernière édition:
Re : Compter le nombre de caractères dans un fichier Excel

Bonjour Michel, CISCO, JM,

En VBA une macro élémentaire :

Code:
Sub CharactersCount()
Dim w As Worksheet, cel As Range, n As Double
For Each w In Worksheets
  For Each cel In w.UsedRange
    n = n + Len(cel)
  Next
Next
MsgBox "Nombre de caractères du fichier : " & n
End Sub

Pour gagner du temps de calcul, on peut utiliser un tableau.

A+
 
Re : Compter le nombre de caractères dans un fichier Excel

Re,

Voici donc pour gagner du temps de calcul :

Code:
Sub CharactersCount()
Dim w As Worksheet, plage As Range, tablo, t, n#
For Each w In Worksheets
  Set plage = w.UsedRange
  If plage.Count = 1 Then
    n = n + Len(plage)
  Else
    tablo = plage
    For Each t In tablo
      n = n + Len(t)
    Next
  End If
Next
MsgBox "Nombre de caractères du fichier : " & n
End Sub

A+
 
Re : Compter le nombre de caractères dans un fichier Excel

Bonjour Cisco, JM, Job

Merci pour vos réponses. Cela me paraît complexe de passer par FSO 😕.

J'ai appliqué le code de Cisco sur un classeur simple (voir le fichier), c'est ce que je vais privilégier mais c'est pas très pratique si on a beacoup d'onglets et en plus j'espère qu'il n'y aura pas de ralentissements 🙁.

Pour le second code de Job, j'ai une erreur sur n = n + Len(t) erreur 13 incompatibilité de type.

Encore merci 🙂.
 

Pièces jointes

Re : Compter le nombre de caractères dans un fichier Excel

Bonjour MJ13, Job75, staple, cisco, le fil, le forum,
sur le code de Job (qui, j'éspère, ne m'en voudras pas) une proposition par tableau. Cela prend en compte tous les caractères de chaque feuille d'ou la différence avec la formule de cisco:
Code:
Sub CharactersCount2()
Dim w As Worksheet, tablo, Rw&, Col&, n#
For Each w In Worksheets
    tablo = w.UsedRange.Value
    If IsEmpty(tablo) Then GoTo Suivante
    For Rw = LBound(tablo, 1) To UBound(tablo, 1)
        For Col = LBound(tablo, 2) To UBound(tablo, 2)
            n = n + Len(tablo(Rw, Col))
        Next Col
    Next Rw
Suivante:
Next w
MsgBox "Nombre de caractères du fichier : " & n
End Sub
Cordialement
 
Re : Compter le nombre de caractères dans un fichier Excel

Re Job, Bonjour Efgé

En effet sur XL2003, cela ne bug pas 😕.

En fait je n'avais fait le test que sur la première cellule de remplie. Et la, ça bug. Mais si je rajoute un caractère en dessous, cela fonctionne correctement.

Merci à tous les 2. Bon sur un gros fichier, j'espère que c'est rapide 🙁.

Par contre sur un gros fichier, cela bug 😕.


Ouh!! ça me saoule de ne pas avoir le mode avancé directement 😡.
 
Dernière édition:
Re : Compter le nombre de caractères dans un fichier Excel

Re Michel,

En fait je n'avais fait le test que sur la première cellule de remplie. Et la, ça bug.

Justement il n'est pas normal que ça bug.

Si la feuille est vide, ou si une seule cellule est remplie, c'est ce code qui doit s'exécuter dans ma macro :

Code:
Set plage = w.UsedRange
If plage.Count = 1 Then
   n = n + Len(plage)

Peux-tu tester ce code sur Excel 2007 avec une seule cellule remplie :

Code:
Set plage = w.UsedRange
MsgBox plage.Count

A+
 
Re : Compter le nombre de caractères dans un fichier Excel

Re Job

Bon alors cela fonctionne, sauf pour mon fichier planning avec cette feuille qui faisait bugger la macro.

Cela viendrait de quoi?😕

Après test avec la formule de Cisco 🙂, cela viendrait des #valeurs.

Du coup cela ne m'arrange pas car avec le code de Cisco, cela sera idem, puisque si j'ai es erreurs, je ne pourrais pas avoir la somme de acractères, à moins de tester l'erreur avec "si esterreur" 😕.
 

Pièces jointes

Dernière édition:
Re : Compter le nombre de caractères dans un fichier Excel

Re

Pour éviter les erreurs, je vais compter le nombre de cellules de remplies dans la feuille qui contiendrait des erreurs.

Et en VBA, c'est faisable 😕.

Ok , Job, j'ai vu ton post #12, mais on peut avoir des erreurs dans un fichier (l'erreur est humaine😱).

J'ai testé CE FICHIER de 138,6 Mo sans aucun problème 😕

Et cela met combien de temsp chez toi pour s'exécuter en VBA (0.92 seconde chez moi, c'est assez rapide car on a pas souvent de fichiers si gros). Je trouve cela assez rapide sur un fichier de 900 ko.
 

Pièces jointes

Dernière édition:
Re : Compter le nombre de caractères dans un fichier Excel

Re Michel,

Chez moi la macro sur le fichier de 138,6 Mo s'exécute autour de 0,9 s (ça varie un peu).

S'il y a des valeurs d'erreur, on peut utiliser :

Code:
Sub CharactersCount()
Dim temps, w As Worksheet, plage As Range, tablo, t, n#, e#
temps = Timer 'facultatif
On Error Resume Next
For Each w In Worksheets
  Set plage = w.UsedRange
  If plage.Count = 1 Then
    n = n + Len(plage)
    If Err Then e = e + 1: Err = 0
  Else
    tablo = plage
    For Each t In tablo
      n = n + Len(t)
      If Err Then e = e + 1: Err = 0
    Next
  End If
Next
MsgBox "Durée : " & Timer - temps & " s" 'facultatif
MsgBox "Nombre de caractères du fichier : " & Format(n, "#,##0") & _
  Chr(10) & "Nombre de valeurs d'erreur : " & Format(e, "#,##0")
End Sub

Mais s'il y a beaucoup d'erreurs ça prend du temps => 47 s chez moi pour 65536 #DIV/0!

A+
 
Re : Compter le nombre de caractères dans un fichier Excel

Re Job

Merci, cela fonctionne maintenant avec 3 erreurs, j'ai 2.4 secondes, c'est correct.

Remarque comme cela, on peut voir si il y a des erreurs dans un fichier.

Encore merci pour ta persévérance 🙂.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
683
Réponses
23
Affichages
668
Retour