VBA tester la valeur des cellules avant de lancer la macro

ludoxa

XLDnaute Nouveau
Bonjour à tous,

c'est mon premier post sur ce forum et je suis "débutant autodidacte" sur VBA excel. Jusqu'à présent j'ai réussi à me débrouiller en googlant par ci par là mais là je bloque... Je m'explique :

J'ai une macro qui balaie les feuilles de mon classeur et crée sur chacun d'eux un histogramme. Ce que je voudrais, c'est que ma macro vérifie d'abord que sur une partie de la plage de cellule en question les valeurs ne soient pas égales à 0 :
- si les 5 cellules de la feuille sont égales à 0, je ne génère pas un graphique et je passe à la feuille suivante
- si une des 5 cellules est supérieure à 0, je génère le graphique puis je passe à la feuille suivante

Voici la macro :

Dim feuille As Worksheet
Dim plage As Range


' DECLARATION tableau avec tous les noms des feuilles
Set feuilles = Sheets(Array("AIGUEPERSE", "ALBIGNY-SUR-SAONE", "ALIX", "AMPLEPUIS", "AMPUIS", "ANSE", "ARNAS", "AVEIZE", "AVENAS", "BAGNOLS", "BEAUJEU", "BELLEVILLE", "BESSENAY", "BLACÉ", "BOURG DE THIZY", "BRIGNAIS", "BRINDAS", "BRULLIOLES", "BRUSSIEU", "BULLY", "CAILLOUX-SUR-FONTAINES", "CHAMBOST-LONGESSAIGNE", "CHAMELET", "CHAMPAGNE-AU-MONT-D'OR", "CHAPONNAY", "CHAPONOST", "CHARBONNIERES-LES-BAINS", "CHARENTAY", "CHARLY", "CHARNAY", "CHASSAGNY", "CHASSELAY", "CHASSIEU", "CHATILLON D'AZERGUES - CHESSY", "CHAUSSAN", "CHAZAY D'AZERGUES", "CHEVINAY", "CHIROUBLES", "CLAVEISOLLES", "COGNY", "COISE", "COLLONGES-AU-MONT-D'OR", "COLOMBIER-SAUGNIEU", "COMMUNAY", "CONDRIEU", "CORBAS", "CORCELLES-EN-BEAUJOLAIS", "COURS-LA-VILLE", "COURZIEU", "COUZON-AU-MONT-D'OR", "CRAPONNE", "CUBLIZE", "CURIS-AU-MONT-D'OR", "DARDILLY", "DENICÉ", "DOMMARTIN", "DUERNE", "ECHALAS", "EVEUX", "FEYZIN", "FLEURIE", "FLEURIEU-SUR-SAONE", "FLEURIEUX-SUR-L'ARBRESLE", "FONTAINES-SUR-SAONE", "FRANCHEVILLE"))


For Each feuille In feuilles
' DECLARATION plage des données source
Set plage = feuille.Range("AB1:AB8")
Charts.Add
ActiveChart.ChartType = xlColumnClustered​

....Ensuite je fais tout un tas de mise en forme de mes graphs.

Dans l'exemple, la plage de cellules à tester est AB2:AB6.

Merci de votre aide.
 

Pierrot93

XLDnaute Barbatruc
Re : VBA tester la valeur des cellules avant de lancer la macro

Bonjour Ludoxa, Pascal

regarde le code ci-dessous si il peut t'aider :

Code:
Sub test()
Dim ws As Worksheet
For Each ws In Worksheets
    If WorksheetFunction.Sum(ws.Range("AB1:AB8")) > 0 Then
        Charts.Add
    End If
Next ws
End Sub

bon après midi
@+
 

Statistiques des forums

Discussions
311 733
Messages
2 082 010
Membres
101 866
dernier inscrit
XFPRO