XL 2016 Boucle VBA pour tester des plages de cellules nommées

rounil09

XLDnaute Occasionnel
Bonsoir,
Je n’arrive pas à me sortir d’une macro.
J’ai affecté un nom à une centaine de plages de cellules. Chaque plage compte 9 cellules.
Je souhaite tester si chacune des plages de cellules nommées contient une seule valeur (qui varie de 1 à 9) et dans ce cas, fusionner les 9 cellules.
Ma macro fonctionne sur chaque plage nommé (LI1CO1, L2CO1, etc..) prise isolément
Ce que je n’arrive pas à faire c’est la boucle qui teste chacune des plages nommées.

Ma macro plage par plage

Sub Compte_nb_val()

Range("LI1CO1").Select
If Application.WorksheetFunction.CountA(Range("LI1CO1")) = 1 Then
Call Fusion_cel
End If
Range("LI2CO1").Select
If Application.WorksheetFunction.CountA(Range("LI2CO1")) = 1 Then
Call Fusion_cel
End If
Range("LI3CO1").Select
If Application.WorksheetFunction.CountA(Range("LI3CO1")) = 1 Then
Call Fusion_cel
End If

Etc…

End Sub


Merci par avance de vos lumières
 

Robert

XLDnaute Barbatruc
Bonjour Rounil, bonjour le forum,

Peut-être comme ça :

VB:
Sub Compte_nb_val()
Dim PN As Name 'déclare la variable PL (Plage Nommée)

For Each PN In Names 'boucle sur toutes les plages nommées PL du classeur
    If Application.WorksheetFunction.CountA(Range(PN)) = 1 Then Call Fusion_cel
Next PN 'prochaine plage nommée de la boucle
End Sub
 

Discussions similaires


Haut Bas