Bonjour,

je bloque depuis un certain temps.

Voici une macro d'origine.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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