Magic_Doctor
XLDnaute Barbatruc
Bonjour,
J'ai la macro suivante :
'job75
compt1 = IIf(IsNumeric(Evaluate("Compteur1")), Evaluate("Compteur1"), 0)
compt1 = IIf(compt1 < 2, compt1 + 1, 1)
ActiveWorkbook.Names.Add Name:="Compteur1", RefersTo:=compt1, Visible:=False
Cette macro marche parfaitement.
compt1 est une variable "Public"
Cette macro est déclenchée au moyen d'un bouton. Quand on clique sur le bouton : compt1 = 1, quand on reclique : compt 1 =2. compt1 ne peut prendre que ces 2 valeurs (1 ou 2).
La valeur de compt1 est conservée, disons, virtuellement, ce qui évite de la mettre dans une cellule.
Cette routine est utilisée souvent avec différents boutons.
Plutôt que d'écrire à chaque fois la même routine (avec le compt correspondant), dans un esprit synthétique, j'ai voulu rédiger une macro paramétrable que j'ai nommée "Compteurs(x)" :
Sub Compteurs(x As Byte)
Dim compt As Byte
compt = compt & x
compt = IIf(IsNumeric(Evaluate("Compteur" & x)), Evaluate("Compteur" & x), 0)
compt = IIf(compt < 2, compt + 1, 1)
ActiveWorkbook.Names.Add Name:="Compteur" & x, RefersTo:=compt & x, Visible:=False
End Sub
Évidemment, ça ne marche pas du tout.
Il y aurait-il un moyen pour y pallier ?
Merci d'avance pour toute aide.
J'ai la macro suivante :
'job75
compt1 = IIf(IsNumeric(Evaluate("Compteur1")), Evaluate("Compteur1"), 0)
compt1 = IIf(compt1 < 2, compt1 + 1, 1)
ActiveWorkbook.Names.Add Name:="Compteur1", RefersTo:=compt1, Visible:=False
Cette macro marche parfaitement.
compt1 est une variable "Public"
Cette macro est déclenchée au moyen d'un bouton. Quand on clique sur le bouton : compt1 = 1, quand on reclique : compt 1 =2. compt1 ne peut prendre que ces 2 valeurs (1 ou 2).
La valeur de compt1 est conservée, disons, virtuellement, ce qui évite de la mettre dans une cellule.
Cette routine est utilisée souvent avec différents boutons.
Plutôt que d'écrire à chaque fois la même routine (avec le compt correspondant), dans un esprit synthétique, j'ai voulu rédiger une macro paramétrable que j'ai nommée "Compteurs(x)" :
Sub Compteurs(x As Byte)
Dim compt As Byte
compt = compt & x
compt = IIf(IsNumeric(Evaluate("Compteur" & x)), Evaluate("Compteur" & x), 0)
compt = IIf(compt < 2, compt + 1, 1)
ActiveWorkbook.Names.Add Name:="Compteur" & x, RefersTo:=compt & x, Visible:=False
End Sub
Évidemment, ça ne marche pas du tout.
Il y aurait-il un moyen pour y pallier ?
Merci d'avance pour toute aide.