OVH Cloud OVH Cloud

Occurences & VBA

6 réponses
Avatar
Golem13
Bonsoir.

J'utlise le petit bout de code suivant pour compter, le nombre de fois
qu'apparaissent les 2 valeurs situés
en A1 et A2.

Cela fonctionne bien sur la premiere partie des resutalts en A4 et A5.

Mais en passant par le tableau mis en memoire ( DIM Tableau) j'ai une erreur
.

= = = =

Autre petit truc, comment trouver le nombre de fois ou les 2 valeurs
recherchées (A1 & A2)
sont presentes ensemble sur la meme ligne ?


'************************************************************************
Sub Compte()
'
Dim Tableau
'
Tableau = Range("C1:V60000").Value
'
Worksheets("feuil1").Range("a4") =
Application.CountIf(Worksheets("feuil1").Range("C1:V60000"), Range("a1"))
Worksheets("feuil1").Range("a5") =
Application.CountIf(Worksheets("feuil1").Range("C1:V60000"), Range("a2"))
'
Worksheets("feuil1").Range("a7") = Application.CountIf("Tableau",
Range("a1"))
Worksheets("feuil1").Range("a8") = Application.CountIf("Tableau",
Range("a2"))
'
End Sub
'***************************************************************************


Vour remerciant pour tout exemple.
@+

6 réponses

Avatar
michdenis
Bonjour Golem13,

Pourquoi passer par un tableau ?

Dim Rg as range
With Worksheets("Feuil1")
Set rg = .Range("C1:V60000")
End With

Msgbox Application.CountIf(rg, Range("A1"))

Ceci n'est pas suffisant ?


Salutations!




"Golem13" a écrit dans le message de news:416d81ff$0$7205$
Bonsoir.

J'utlise le petit bout de code suivant pour compter, le nombre de fois
qu'apparaissent les 2 valeurs situés
en A1 et A2.

Cela fonctionne bien sur la premiere partie des resutalts en A4 et A5.

Mais en passant par le tableau mis en memoire ( DIM Tableau) j'ai une erreur
.

= = =
Autre petit truc, comment trouver le nombre de fois ou les 2 valeurs
recherchées (A1 & A2)
sont presentes ensemble sur la meme ligne ?


'************************************************************************
Sub Compte()
'
Dim Tableau
'
Tableau = Range("C1:V60000").Value
'
Worksheets("feuil1").Range("a4") Application.CountIf(Worksheets("feuil1").Range("C1:V60000"), Range("a1"))
Worksheets("feuil1").Range("a5") Application.CountIf(Worksheets("feuil1").Range("C1:V60000"), Range("a2"))
'
Worksheets("feuil1").Range("a7") = Application.CountIf("Tableau",
Range("a1"))
Worksheets("feuil1").Range("a8") = Application.CountIf("Tableau",
Range("a2"))
'
End Sub
'***************************************************************************


Vour remerciant pour tout exemple.
@+
Avatar
CAP2
Ou même, pourquoi passer par VBA ?

=NB.SI(C1:V60000;A1)

Ca y est, je suis maintenant un AMIS !!!!

CAP2
Avatar
AV
..le nombre de fois qu'apparaissent les 2 valeurs situés
en A1 et A2


MsgBox [SUM((plage¡)+(plage±))]


......le nombre de fois ou les 2 valeurs
recherchées (A1 & A2) sont presentes ensemble sur la meme ligne ?


Sub zzzz() 'pour la plage C1:V60000
var1 = [A1]: var2 = [B1]
For i = 1 To 60000
'sur une seule ligne :
x = x + Evaluate("isnumber(match(var1,C" & i & ":V" & i & ",0)+match(var2,C" & i
& ":V" & i & ",0))") * -1
Next
MsgBox x
End Sub

AV

Avatar
JièL Goubert
Bonjoir(c) CAP2

Le 14/10/2004 08:31 vous avez écrit ceci :
Ou même, pourquoi passer par VBA ?

=NB.SI(C1:V60000;A1)

Ca y est, je suis maintenant un AMIS !!!!


Les MECHANTS ont du soucis à se faire alors ;-)))

Macroteurs
Espérants
Cacher (leur)
Humiliation (en)
Avilissant
Nos
Trucs
Surprenants

MDR

--
La FAQ Outlook est la : http://faq.outlook.free.fr
JièL / Jean-Louis GOUBERT
Co-auteur de "Internet + de 1 000 trucs de pros" chez Micro Application
http://faq.outlook.free.fr/livreMA/internet_plus_de_1000_trucs_de_pros.htm

Avatar
CAP2
Salut JièL

mdr !!!

difficile de choisir entre le club des AMIS et le gang des MECHANTS. Je
prendrai une carte d'adhérents chez les deux ;o))

CAP2
Avatar
Golem13
Bonsoir .

Merci pour vos reponses et exemples.

@ +