Inserer la fonction countif() via vba

daguetpondere Messages postés 4 Date d'inscription samedi 26 février 2005 Statut Membre Dernière intervention 28 février 2005 - 26 févr. 2005 à 17:05
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 - 1 mars 2005 à 14:16
J'essaie d'insérer la fonction countif via un module mais le compilateur n'accepte pas les guillemets de la fonction ?

ex : Cells (16, 4).value = "=countif(d15:" & variable & "15;"<>0")"

Comment faire ?

Daguet Pondéré

9 réponses

mrdep1978 Messages postés 402 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 7 juin 2009 7
26 févr. 2005 à 20:45
Il faut doubler les guillemets quand tu veux en mettre dans une chaine de caractères.
A part ça, la syntaxe est la suivante :

Cells(6,4).FormulaR1C1 = "=COUNTIF(R15C4:R15C" & variable ,""<>0"")"

Sachant que R15C4 = Cellule D15 (Ligne 15, colonne 4), et Variable est le numéro de ta colonne de fin à la place de la lettre (càd 6 au lieu de F)
0
daguetpondere Messages postés 4 Date d'inscription samedi 26 février 2005 Statut Membre Dernière intervention 28 février 2005
26 févr. 2005 à 21:23
Désolé mais ça marche pas, j'ai toujours "Compil Error : expected : end of statement"

Daguet Pondéré
0
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
27 févr. 2005 à 00:52
Salut,
y'a plusieurs erreurs dans ta formule
tout d'abord il faut effectivement doubler les quotes dans ta formule ensuite sous VBA pas de point virgule et pour finir tu dois passer par les références de cellules

donc pour toi ça devrais donner:
Cells(6, 4).Formula = "=COUNTIF($D$15:$" & variable & "$15,""<>0"")"

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
0
mrdep1978 Messages postés 402 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 7 juin 2009 7
27 févr. 2005 à 09:36
Personnellement, j'avais oublié un & "
Cells(6,4).FormulaR1C1 = "=COUNTIF(R15C4:R15C" & variable & ",""<>0"")"
0

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

Posez votre question
daguetpondere Messages postés 4 Date d'inscription samedi 26 février 2005 Statut Membre Dernière intervention 28 février 2005
27 févr. 2005 à 15:57
Ca marche ! Un grand merci ! En plus j'ai appris à utiliser la fonction "Cells" au lieu de "Range", nettement plus facile à programmer !
Au fait , peut-on utiliser l'instruction "Range" avec des coordonnées du type R1C1 au lieu de $A$1 ? et si oui comment ?

Encore merci

Daguet Pondéré
0
cqui789 Messages postés 261 Date d'inscription jeudi 13 janvier 2005 Statut Membre Dernière intervention 18 mai 2009 3
27 févr. 2005 à 17:10
La solution de mrdep aurrai marchee si il avait pense a metre & " apres variable



Cells(16,4).FormulaR1C1 = "=COUNTIF(R15C4:R15C" & variable & " ,""<>0"")"
0
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
27 févr. 2005 à 21:14
Re,
Pour ma part je préfère programer dans le style
Range("A1:B6") qui est plus explicite mais c'est une question de gout
Pour ta deuxième question c'est oui à condition d'utiliser la proprièté .FormulaR1C1

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
0
daguetpondere Messages postés 4 Date d'inscription samedi 26 février 2005 Statut Membre Dernière intervention 28 février 2005
28 févr. 2005 à 22:42
Faut-il mettre également les références du type R1C1 entre guillemets avec l'instruction Range ?

Comment fais-tu pour incrémenter des colonnes lorsque tu passes à 2 lettres (par ex de Z à AA) ?

Bien cordialement

Daguet Pondéré
0
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
1 mars 2005 à 14:16
Re,
Non Pas de guillemet teste l'exemple de merdep aprés modif des 2 erreurs ( le & manquant et la virgule mal placée)

Dans ce cas là mieux vaut utiliser ta méthode

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
0
Rejoignez-nous