[macro]copier une partie d'une fonction
Résolu
Malgven
-
Malgven -
Malgven -
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
-
Bonjour,
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 -