Conseil : Faites vos essais sur une copie de votre Feuil2
Un modèle de macro pour modifier votre formule en colonne AL
Sub ModifierLaColonneAL()
Dim I As Integer
Dim AireAModifier As Range
Dim Chaine As String
With Application
.ScreenUpdating = False
.Calculation = xlCalculationManual
End With
With Sheets("Feuil2 (2)") ' Copie de l'onglet Feuil2
Set AireAModifier = .Range(.Cells(4, "AL"), .Cells(89, "AL"))
For I = 1 To AireAModifier.Count
With AireAModifier(I)
.Formula2R1C1 = "=COUNTIF(RC[-32]:RC[-5],""VISITE"")+INDIRECT(R1C9&""!AL""&ROW(RC))"
End With
Next I
Set AireAModifier = Nothing
End With
With Application
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
End With
End Sub
Pour les autres colonnes :
MPS :
Formule existante :
=COUNTIF(RC[-33]:RC[-6],"MPS 0-4")+COUNTIF(RC[-33]:RC[-6],"MPS 5-9")+COUNTIF(RC[-33]:RC[-6],"MPS 0-4-")+COUNTIF(RC[-33]:RC[-6],"MPS 5-9-")+Feuil1!RC
La ligne de code associée :
Pour l'aire :
Set AireAModifier = .Range(.Cells(4, "AM"), .Cells(89, "AM"))
=COUNTIF(RC[-33]:RC[-6],"MPS 0-4")+COUNTIF(RC[-33]:RC[-6],"MPS 5-9")+COUNTIF(RC[-33]:RC[-6],"MPS 0-4-")+COUNTIF(RC[-33]:RC[-6],"MPS 5-9-")+INDIRECT(R1C9&""!AM""&ROW(RC))"
Pour connaître la formule existante dans vote tableau :
Placez-vous en cellule AN4 de Feuil2 par exemple.
Basculez sur l'éditeur VBA Alt-F11
Si la fenêtre Exécution n'est pas ouverte, ouvrez là avec Ctrl-G
Dans la fenêtre, tapez
? activecell.Formula2r1c1
Dans la macro, c'est cette formule qu'il faut modifier en remplaçant
+Feuil1!RC
par la formule ci-dessous en modifiant le numéro de colonne, ici AN et en modifiant à chaque fois la colonne de l'aire à modifier
+INDIRECT(R1C9&""!AN""&ROW(RC))"
Set AireAModifier = .Range(.Cells(4, "AN"), .Cells(89, "AN"))