Problème de fonction prédéfini dans excel

Résolu/Fermé
Tyoli - 6 juin 2011 à 12:50
 Tyoli - 6 juin 2011 à 15:03
Bonjour,
j'ai un petit problème dont je n'ai pas trouvé la solution ni dans l'aide de excel ni sur internet (je ne tape peut être pas les bons mots clés).
En faite, j'ai écrit une procédure dans VBA utilisant la fonction de excel ESTVRAI mais lorsque je veux la faire tourner VBA me dit "sub ou fonction non défini" et me souligne ESTVRAI. Je n'ai pas trouvé comment faire pour qu'il sache ce qu'est cette fonction puisqu'elle est normalement directement dans excel.
Quelqu'un saurait-il comment faire ?
Merci d'avance



            
                

5 réponses

ccm81 Messages postés 10566 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 29 mars 2023 2 341
6 juin 2011 à 13:50
bonjour

- avec excel 2003 je ne dispose (apparemment pas) de ESTVRAI donc ceci fonctionne

Range("B1").FormulaLocal = "=SI(A1=VRAI;1;0)"

- avec excel 2007 je ne sais pas mais tu peux tenter

Range("B1").FormulaLocal = "=SI(ESTVRAI(A1);1;0)"

bonne suite
0
michel_m Messages postés 16593 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 23 mars 2023 3 293
6 juin 2011 à 14:12
ESTVRAI n'existe pas en XL2007

si xyz est la valeur logique testée

if xyz then msgbox "vrai"

if not xyz then msgbox "faux"
0
désolée je voulais dire la fonction ESTVIDE :s

voici mon code si cela peut vous éclairer

Sub rajout_temp()

For i = 34 To 91
Cells(1, 10).FormulaLocal = "=ESTVIDE("cells(i,3)")"

If Cells(1, 10).Value = "VRAI" Then
If Cells(i - 1, 3).Value <> Empty And Cells(i + 1, 3).Value <> Empty Then
Cells(i, 3).Value = (Cells(i - 1, 3).Value + Cells(i + 1, 3).Value) / 2
Else
Cells(i, 3).Value = Cells(i - 16, 3).Value
End If
End If

Next

End Sub

cependant cela bloque à la première ligne
0
ccm81 Messages postés 10566 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 29 mars 2023 2 341
6 juin 2011 à 14:44
re

bon tu peux donc tenter quelque chose comme ça

Range("B1").FormulaLocal = "=SI(ESTVIDE(A1);1;0)"

bonne suite
0
oui mais le problème c'est que je suis dans une boucle où mon numéro de ligne varie donc je ne peut pas utiliser cette formule il faut que dans mon ESTVIDE apparaisse la ligne i
0
michel_m Messages postés 16593 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 23 mars 2023 3 293
6 juin 2011 à 14:57
Pourquoi un formulalocal qui me semble tout alourdir

For i = 34 To 91

If isempty(cells(i,3)) Then
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
merci !!! :D
tout simplement car je ne connaissais pas la fonction isempty !
Merci beaucoup !
0