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 :
....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.
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
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.