Bonjour
J'ai fait une petite macro pour sauver le classeur actif en PDF avec ExportAsFixedFormat
Elle plante si le classeur est vide.
Comment tester cela facilement ?
D'avance merci
Bonjour
J'ai fait une petite macro pour sauver le classeur actif en PDF avec ExportAsFixedFormat
Elle plante si le classeur est vide.
Comment tester cela facilement ?
D'avance merci
Bonsoir
regarde cet exemple
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Sub classeurEstVide() Dim wsf As Worksheet, vide As Boolean vide = True For Each wsh In Worksheets If Application.WorksheetFunction.Count(wsh.Cells()) > 0 Then MsgBox "la feuille " & wsh.Name & " contient des données" vide = False Exit For End If Next If vide = True Then MsgBox "le classeur est vide" End Sub
Bonjour zyhack,
Merci de t'intéresser à mon problème.
J'ai testé ton code.
Il fonctionne si au moins une cellule contient une formule.
Par contre si le classeur contient uniquement du texte il est considéré comme vide.
Ce n'est donc pas une solution parfaite même si normalement un classeur Excel devrait contenir des formules.
Si une solution encore meilleure n'est pas possible efficacement, j'utiliserais ce code avec apparition d'un message d'avertissement permettant à l'utilisateur de continuer si son classeur n'est pas vide.
Bonjour
dans le code remplace Count par CountA et ça devrait allé
Code : Sélectionner tout - Visualiser dans une fenêtre à part If Application.WorksheetFunction.CountA(wsh.Cells()) > 0 Then
Rebonjour,
Merci Zyhack
Je viens d'arriver à la même conclusion que toi et je venais poster "La" solution mais tu m'as devancé.
Je confirme donc que utiliser CountA permet de tester "tout type de contenu" alors que Count ne fonctionne qu'avec des formules.
Je passe à résolu.
Partager