Exécuter un CommandBars (ou macro) sur plusieurs cellules sélectionné
Bonjour,
je bloque depuis un certain temps.
Voici une macro d'origine.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| Sub Macro6()
Dim Frml As String
Frml = ActiveCell.FormulaArray
If ActiveCell.FormulaArray = "" Then GoTo Suite
If InStr(Frml, "& -") Then Frml = Left(Frml, InStrRev(Frml, "&") - 1)
Frml = Frml & "&"" - " & CommandBars.ActionControl.Text & """"
ActiveCell.FormulaArray = Frml
Exit Sub
Suite:
Frml = CommandBars.ActionControl.Text
ActiveCell.FormulaArray = Frml
Exit Sub
End Sub |
C'est efficace, mais j'aimerais l'améliorer avec une sélection multiple. J'ai plusieurs macro d'action Control que je voudrais optimiser dans ce sens.
Si je sélectionne plusieurs cellules (isolé), j'aimerais qu'il me lance la macro pour toutes les cellules sélectionnés et individuellement bien sûr puisque je ne dois pas perdre mes formules.
Je viens de passer 5 heures dessus en cherchant dans tous les forum et solution, mais c'est un vrai casse tête. Rien ne fonctionne.
J'ai beau essayer avec
Code:
For Each cel In Selection
, ça ne marche toujours que pour la première cellule sélectionne (active)
J'ai fait des test en utilisant une partie du code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| Sub Macro0()
Dim cel As Range
Dim Frml As String
Frml = ActiveCell.FormulaArray
For Each cel In Selection
'Frml = CommandBars.ActionControl.Text
'ActiveCell.FormulaArray = Frml
Next
End Sub |
J'ai essayé de remplacer ActiveCell par Sélection et j'ai de l'édition multiple seulement si je sélectionne des cellules en continue, et non pas individuellement. Peut être que cette possibilité est trop récente pour que ce soit pris en compte par VBA.
En tout cas merci beaucoup de m'avoir lu :)