Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/10/2011, 10h59   #1
Nouveau Membre du Club
 
Inscription : janvier 2009
Messages : 43
Détails du profil
Informations forums :
Inscription : janvier 2009
Messages : 43
Points : 27
Points : 27
Par défaut La fonction Ttest()

Bonjour tout le monde,
Après 48 heures de galère et de recherches ici et là en Français et en Anglais, la fonction Ttest en VBA me sort toujours la même erreur : #NOM?

Savez-vous si cette fonction accepte des variables :

Code :
Cellule.FormulaR1C1 = "= TTEST(echantillon1, echantillon2,2,3)"
echantillon1 et échantillon2 étant des plages définies ci-dessous à titre d'exemple.
Code :
1
2
set echantillon1=range(C2:C7)
set echantillon2=range(B2:B5
)

La dernière valeur des colonnes B (ici 5) et C (ici 7) pouvant varier, je ne veux rien taper dans le dur.

Merci d'avance.
Dormeur74 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/10/2011, 11h04   #2
Membre Expert
 
Avatar de Jean-Pierre49
 
Homme J-Pierre Catherine
Conception Calcul
Inscription : juillet 2007
Messages : 659
Détails du profil
Informations personnelles :
Nom : Homme J-Pierre Catherine
Âge : 57
Localisation : France, Maine et Loire (Pays de la Loire)

Informations professionnelles :
Activité : Conception Calcul
Secteur : Industrie

Informations forums :
Inscription : juillet 2007
Messages : 659
Points : 1 856
Points : 1 856
Bonjour,

Pas testé

Code :
Cellule.FormulaR1C1 = "= TTEST(" & echantillon1 & "," &  echantillon2 & ",2,3)"
Je ne connais pas cette fonction mais lorsque l'on veut insérer des variables dans une chaine de caractère il faut les insérer en coupant la chaine.

Tu dis

Bon courage
__________________
Jean-Pierre Pensez à Voter pour les réponses qui vous ont aidés, d'avance merci
---------Et n'oubliez pas de mettre : ..quand c'est le cas !---------
Jean-Pierre49 est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 16/10/2011, 11h51   #3
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Bonjour
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Sub CommentFaire()
Dim Cellule As Range, Echantillon1 As Range, Echantillon2 As Range
Dim Nc As Long, Nb As Long
 
With Worksheets("Feuil1")
    Nc = .Cells(.Rows.Count, "C").End(xlUp).Row
    Set Echantillon1 = .Range("C2:C" & Nc)
    Nb = .Cells(.Rows.Count, "B").End(xlUp).Row
    Set Echantillon2 = .Range("B2:B" & Nb)
    Set Cellule = .Range("A1")
End With
 
Cellule.Formula = "=T.TEST(" & Echantillon1.Address & "," & Echantillon2.Address & ",2,3)"
 
Set Echantillon1 = Nothing
Set Echantillon2 = Nothing
Set Cellule = Nothing
End Sub
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 16/10/2011, 12h47   #4
Membre Expert
 
Homme
Retraité
Inscription : avril 2011
Messages : 693
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Retraité

Informations forums :
Inscription : avril 2011
Messages : 693
Points : 1 445
Points : 1 445
Bonjour,

Pour inscrire la formule
Code :
= TEST.STUDENT($C$2:$C$7;$B$2:$B$5;2;3)
dans la cellule A1, tu peux utiliser la ligne de code proposée par mercatog
Code :
.Range("A1").Formula = "= TTEST(" & echantillon1.Address & "," & echantillon2.Address & ",2,3)"
Pour avoir simplement le résultat inscrit dans la cellule A1, tu peux utiliser
Code :
.Range("A1") = WorksheetFunction.TTest(echantillon1, echantillon2, 2, 3)
Cordialement.
gFZT82 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 17/10/2011, 08h16   #5
Nouveau Membre du Club
 
Inscription : janvier 2009
Messages : 43
Détails du profil
Informations forums :
Inscription : janvier 2009
Messages : 43
Points : 27
Points : 27
La solution était bien
Code :
.Range("A1").Formula = "= TTEST(" & echantillon1.Address & "," & echantillon2.Address & ",2,3)"
Un grand bravo et surtout un grand merci à vous tous.
Dormeur74 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h18.


 
 
 
 
Partenaires

Hébergement Web