Compter des cellules VBA
Utilisateur anonyme
-
Polux31 Messages postés 6917 Date d'inscription Statut Membre Dernière intervention -
Polux31 Messages postés 6917 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
En VBA, je cherche à compter les valeurs des cellules de I14 à L14 où la cellule = R
J'ai essayé COUNTIF mais ca bug tout le temps, je dois pas savoir m'en servir.
Qq'un pourrait m'aider ?
Merci
En VBA, je cherche à compter les valeurs des cellules de I14 à L14 où la cellule = R
J'ai essayé COUNTIF mais ca bug tout le temps, je dois pas savoir m'en servir.
Qq'un pourrait m'aider ?
Merci
A voir également:
- Compter des cellules VBA
- Excel compter cellule couleur sans vba - Guide
- Verrouiller des cellules excel - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Concatener deux cellules excel - Guide
- Pour ce faire la taille des cellules fusionnées doit être identique ✓ - Forum Excel
7 réponses
Bonjour,
;o)
Dim plage As Range Dim cel Dim cpt As Integer Set plage = Worksheets(1).Range("I14:L14") For Each cel In plage If cel.Value = "R" Then cpt = cpt + 1 Next cel MsgBox "Nb : " & cpt Set plage = Nothing
;o)
Super merci
A tout hasard, sur une plage de 7 colonnes, c'est pas possible de savoir si 4 "R" se trouve à la suite ?
A tout hasard, sur une plage de 7 colonnes, c'est pas possible de savoir si 4 "R" se trouve à la suite ?
Oui ça doit être possible, il suffit de faire la vérification dans la boucle :
;o)
Dim plage As Range Dim cel Dim cpt As Integer Dim NbR As Integer Dim Vrai As Boolean Set plage = Worksheets(1).Range("I14:P14") For Each cel In plage If cel.Value = "R" Then cpt = cpt + 1 NbR = NbR + 1 If NbR = 4 Then Vrai = True End If NbR = 0 Next cel If Vrai = False Then MsgBox "Nb : " & cpt Else MsgBox "Nb : " & cpt & ", 4 R à la suite" End If Set plage = Nothing
;o)
Ah non, ca va pas, c'est pas 4 de suite, mais 4 à la suite (aligné :p)
Tu vois ce que je veux dire
Merci
Tu vois ce que je veux dire
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Effectivement je n'avais pas testé et ça ne fonctionne pas ^^
J'ai compris qu'il faut 4 cellules consécutives horizontalement contenant "R":
Est ce bien ça ?
«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
Nicolas Boileau
Effectivement je n'avais pas testé et ça ne fonctionne pas ^^
J'ai compris qu'il faut 4 cellules consécutives horizontalement contenant "R":
! I ! J ! K ! L ! M ! N ! O ! P ! R R R R R R
Est ce bien ça ?
Option Explicit Private Vrai As Boolean Private NbR As Integer Sub test() Dim plage As Range Dim cel Dim cpt As Integer Set plage = Worksheets(1).Range("I14:P14") For Each cel In plage If cel.Value = "R" Then cpt = cpt + 1 If NbR < 4 Then cptR (1) Else If NbR <> 4 Then NbR = 0 End If End If Next cel If Vrai = False Then MsgBox "Nb : " & cpt Else MsgBox "Nb : " & cpt & ", 4 R à la suite" End If Set plage = Nothing End Sub Sub cptR(ByVal str As Integer) NbR = NbR + str If NbR = 4 Then Vrai = True End Sub
«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
Nicolas Boileau
Ah oué, pas mal tout ca dit moi ;)
En fait, je m'amuses a essayer de faire un puissance 4 pour comprendre le codage VBA et donc me former.
J'ai bien compris comment tu faisais. Mais il reste encore des étapes comme la vérification en colonne, qui ne devrait pas etre trop compliqué et tester également dans les 2 diagonales.
Si tu veux m'aider que j'avance sans faire n'importe quoi, je suis tout ouie ;)
Merci beaucoup de ton implication.
En fait, je m'amuses a essayer de faire un puissance 4 pour comprendre le codage VBA et donc me former.
J'ai bien compris comment tu faisais. Mais il reste encore des étapes comme la vérification en colonne, qui ne devrait pas etre trop compliqué et tester également dans les 2 diagonales.
Si tu veux m'aider que j'avance sans faire n'importe quoi, je suis tout ouie ;)
Merci beaucoup de ton implication.
Chaque élément du tableau représente une case de jeu.
Les cases était indexé de 1 à 100, le jeu faisait 10 cases par 10 cases
Quand le joueur cliquait sur la 1ère case d'une colonne (par ex la 5), le programme testait tableau(5), tableau(15), tableau(25) jusqu'à tableau(95) ... et mettait le pion dans le dernier emplacement libre.
Ensuite il y a des contrôles à faire par exemple en diagonal je faisais l'indice du tableau + 11 ou - 11 selon le cas pour vérifier si l'indice i + 11 était identique etc ...
;o)
Les cases était indexé de 1 à 100, le jeu faisait 10 cases par 10 cases
Quand le joueur cliquait sur la 1ère case d'une colonne (par ex la 5), le programme testait tableau(5), tableau(15), tableau(25) jusqu'à tableau(95) ... et mettait le pion dans le dernier emplacement libre.
Ensuite il y a des contrôles à faire par exemple en diagonal je faisais l'indice du tableau + 11 ou - 11 selon le cas pour vérifier si l'indice i + 11 était identique etc ...
;o)