Problème de fonction prédéfini dans excel
Résolu/Fermé
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
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
A voir également:
- Problème de fonction prédéfini dans excel
- Fonction si et excel - Guide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Fonction moyenne excel - Guide
5 réponses
ccm81
Messages postés
10908
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
2 mai 2025
2 431
6 juin 2011 à 13:50
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
- 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
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
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
ccm81
Messages postés
10908
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
2 mai 2025
2 431
6 juin 2011 à 14:44
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
bon tu peux donc tenter quelque chose comme ça
Range("B1").FormulaLocal = "=SI(ESTVIDE(A1);1;0)"
bonne suite
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
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 313
6 juin 2011 à 14:57
6 juin 2011 à 14:57
Pourquoi un formulalocal qui me semble tout alourdir
For i = 34 To 91
If isempty(cells(i,3)) Then
For i = 34 To 91
If isempty(cells(i,3)) Then
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
6 juin 2011 à 14:12
si xyz est la valeur logique testée
if xyz then msgbox "vrai"
if not xyz then msgbox "faux"