[macro]copier une partie d'une fonction
Résolu
Bonjour,
Je suis novice en macro sous excel et je rencontre un soucis.
J'ai créé une macro contenant plusieurs fonctions que j'utilise TRES régulièrement.
ActiveCell.FormulaR1C1 = "=COUNT(variable:variable)"
ActiveCell.Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "=AVERAGE(variable:variable)"
ActiveCell.Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "=STDEV(variable:variable)"
ActiveCell.Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "=MIN(variable:variable)"
ActiveCell.Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "=MAX(variable:variable)"
ActiveCell.Offset(1, 0).Select
J'aimerais faire en sorte que les fonctions suivant "count", c'est à dire "average", "stdev' "min" et "max" copient la plage de données que je rentre a posteriori dans "=count" et qui est toujours une plage de données aléatoire que je ne peux pas déterminer à l'avance.
J'espère que ma question est assez claire....
Merci d'avance !
Je suis novice en macro sous excel et je rencontre un soucis.
J'ai créé une macro contenant plusieurs fonctions que j'utilise TRES régulièrement.
ActiveCell.FormulaR1C1 = "=COUNT(variable:variable)"
ActiveCell.Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "=AVERAGE(variable:variable)"
ActiveCell.Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "=STDEV(variable:variable)"
ActiveCell.Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "=MIN(variable:variable)"
ActiveCell.Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "=MAX(variable:variable)"
ActiveCell.Offset(1, 0).Select
J'aimerais faire en sorte que les fonctions suivant "count", c'est à dire "average", "stdev' "min" et "max" copient la plage de données que je rentre a posteriori dans "=count" et qui est toujours une plage de données aléatoire que je ne peux pas déterminer à l'avance.
J'espère que ma question est assez claire....
Merci d'avance !
2 réponses
-
ModérateurBonjour,
Pourquoi pas avec une InputBox?
Regarde cet exemple :Dim Plage As Range, maCel AS Range Set maCel = ActiveCell Set Plage = Application.InputBox("Sélectionnez une plage", "Sélection de cellules", Type:=8) With maCel .Formula = "=COUNT(" & Plage.Address & ")" .Offset(1, 0).Formula = "=AVERAGE(" & Plage.Address & ")" .Offset(2, 0).Formula = "=STDEV(" & Plage.Address & ")" .Offset(3, 0).Formula = "=MIN(" & Plage.Address & ")" .Offset(4, 0).Formula = "=MAX(" & Plage.Address & ")" End With -
Bonjour,
ça fonctionne !
Merci beaucoup !
Bonne journée