[macro]copier une partie d'une fonction

Résolu
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 !

2 réponses

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    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
  2. Malgven
     
    Bonjour,

    ça fonctionne !
    Merci beaucoup !

    Bonne journée
    0