[macro]copier une partie d'une fonction

Résolu/Fermé
Malgven - 4 févr. 2016 à 17:10
 Malgven - 5 févr. 2016 à 10:15
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 !

A voir également:

2 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 754
5 févr. 2016 à 07:56
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
1
Bonjour,

ça fonctionne !
Merci beaucoup !

Bonne journée
0