A voir également:
- Compter des cellules VBA
- Excel compter cellule couleur sans vba - Guide
- Verrouiller des cellules excel - Guide
- Excel additionner plusieurs cellules - Guide
- Fusionner 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)