Création feuille sous VBA (Excel)

Bonjour à tous,

J'ai un petit problème avec la création d'une nouvelle feuille. La fonction ci-dessous renvoie #Valeur! et la feuille "reg1" ne se crée pas.

Où est l'erreur dans le code?

Function  reg(Y As Range, X As Range)

ActiveWorkbook.Sheets.Add.Select
ActiveSheet.Name = "reg1"

Application.Run "ATPVBAEN.XLAM!Regress", Y, X, False, False, , ActiveSheet.Range("$A$1"), False, False, False, False, , False

reg = Sheets("reg1").Range("$B$17").Value

End Function


Merci d'avance pour vos réponses

5 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Bonjour,
    Bien que le >> .select ne soit pas nécessaire l'erreur n'est pas là.
    Et sans avoir le libellé de la macro que tu appel ce n'est pas possible de trouver l'erreur.
    A+
    1. Contributeur
      Comment ça ????
      Application.Run "ATPVBAEN.XLAM!Regress", Y, X, False, False, , ActiveSheet.Range("$A$1"), False, False, False, False, , False


      0ù se trouve "ATPVBAEN.XLAM!Regress
      1. C'est une fonction Excel (dans l'utilitaire d'analyse) qui réalise une régression linéaire entre deux plages de cellules (Y est la variable à expliquer et X est la variable explicative).

        En espérant avoir répondu à ta question.
        1. Contributeur
          Bon, je ne connais pas, mais appremment tes variables X,Y ne sont pas initialisées et de ce fait la fonction ne peu rien retourner ?
          Ensuite tu applique la fonction sur une feuille vierge ?
          tu dis "entre deux plages" et tu ne détermine qu'une seule cellule ?
          C'est une sub ou une fonction ?
          A+
          L'expérience instruit plus sûrement que le conseil. (André Gide)
          Si tu te cogne à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)