[vba et excel] Compter avec condition
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Je cherche en vba a compter avec condition. J'ai essayé ceci :
Sub CommandButton7_Click()
Sheets("final_par_NNO").Select
Range("O130").Select
ligne = "140"
For i = 125 To ligne
suivante = i + 1
If (CountIf("C2:C1037", "O" & suivante) > 0) Then
'Cells(i, 1).Interior.ColorIndex = 6
'Cells(suivante, 1).Interior.ColorIndex = 6
'End If
Next
End Sub
Mais ca ne fonction pas, auriez vous une idée ?
Erreur de compilation
Sub ou function non défini
Merci
Je cherche en vba a compter avec condition. J'ai essayé ceci :
Sub CommandButton7_Click()
Sheets("final_par_NNO").Select
Range("O130").Select
ligne = "140"
For i = 125 To ligne
suivante = i + 1
If (CountIf("C2:C1037", "O" & suivante) > 0) Then
'Cells(i, 1).Interior.ColorIndex = 6
'Cells(suivante, 1).Interior.ColorIndex = 6
'End If
Next
End Sub
Mais ca ne fonction pas, auriez vous une idée ?
Erreur de compilation
Sub ou function non défini
Merci
A voir également:
- Vba compter le nombre de cellule contenant une valeur
- Excel compter cellule couleur sans vba - Guide
- Nombre de jours entre deux dates excel - Guide
- Colorer une cellule excel selon de sa valeur - Guide
- Faites afficher avec un fond coloré les cellules qui contiennent une valeur comprise entre 250 et 350. quel nombre est dessiné en surbrillance ? - Forum VB / VBA
- Bloquer une cellule excel - Guide
14 réponses
:o)
Les valeurs se trouvent entre la ligne 125 et 140 de la colonne O.
;o)
«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
Nicolas Boileau
Les valeurs se trouvent entre la ligne 125 et 140 de la colonne O.
Sub CommandButton7_Click()
Dim ws As Worksheet 'Objet feuille
Dim ligne As Long
Dim plage As Range
Dim Cel
Dim i As Integer
Dim suivante As Integer
Set ws = Worksheets("final_par_NNO")
Set plage = ws.Range("C2:C1037")
ligne = 140
For i = 125 To ligne
suivante = i + 1
For Each cel In plage
If ws.Range("O" & i).Value = cel.Value Then
ws.Cells(i, 1).Interior.ColorIndex = 6
ws.Cells(suivante, 1).Interior.ColorIndex = 6
End If
Next cel
Next i
End Sub
;o)
«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
Nicolas Boileau
Erreur de copier coller de code source ;)
Voici ce que j'ai mais qui fait le même résultat
Voici ce que j'ai mais qui fait le même résultat
Sub CommandButton7_Click()
Sheets("final_par_NNO").Select
Range("O130").Select
ligne = "140"
For i = 125 To ligne
suivante = i + 1
If (CountIf("C2:C1037", "O" & suivante) > 0) Then
'Cells(i, 1).Interior.ColorIndex = 6
'Cells(suivante, 1).Interior.ColorIndex = 6
End If
Next i
End Sub
Et en déclarant tes variables ça marche ?
Et ta boucle s'étends sur quelle plage de cellule ?
Je n'arrive pas à voir.
dim ligne as integer dim suivante as integer
Et ta boucle s'étends sur quelle plage de cellule ?
Je n'arrive pas à voir.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
1) ligne = 140 et non ligne = "140"
2) Sheets("final_par_NNO").Select et Range("O130").Select ne servent à rien.
Il est préférable de faire
Et ensuite :
3) Sur quelle ligne apparait le message d'erreur ?
;o)
1) ligne = 140 et non ligne = "140"
2) Sheets("final_par_NNO").Select et Range("O130").Select ne servent à rien.
Il est préférable de faire
Dim ws As Worksheet
Set ws = Worksheets("final_par_NNO")
Et ensuite :
ws.Range("C2:C1037")
ws.Cells(i, 1).Interior.ColorIndex = 6
'etc ...
3) Sur quelle ligne apparait le message d'erreur ?
;o)
Je veux voir si dans la plage c2:c1037, il y a la valeur contenu dans O + la ligne
Je pense que c'est countif qui posse problème, j'ai toujours le message d'erreur
Erreur de compilation
Sub ou function non défini
Merci
Je pense que c'est countif qui posse problème, j'ai toujours le message d'erreur
Erreur de compilation
Sub ou function non défini
Merci
Oui, :D
la réponse pour l'erreur, c'est le countif qui est surligné avec le message :
Erreur de compilation
Sub ou function non défini
Merci
la réponse pour l'erreur, c'est le countif qui est surligné avec le message :
Erreur de compilation
Sub ou function non défini
Merci
Sub CommandButton7_Click()
dim i as integer
For i = 2 To 1037
If cells(3, i) = cells(15 , i) Then
Cells(1, i).Interior.ColorIndex = 6
End If
Next i
End Sub
Est-ce ceci ce que tu souhaites ?
Pas tout à fait, car il faut que ca cherche dans toute la colonne C pas forcement sur la meme ligne et c'est la que je bloque !! :s
Merci de votre aide
Merci de votre aide
peut être comme ça, mais j'avoue n'avoir pas très bien compris ce que tu cherches exactement à faire.
Le traitement risque d'être long..
;o)
Sub CommandButton7_Click()
Dim ws As Worksheet 'Objet feuille
Dim ligne As Long
Dim palge As Range
dim cel
Dim suivant As Long
Dim cpt As Long
Set ws = Worksheets("final_par_NNO")
Set plage = ws.Range("C2:C1037")
ligne = 140
For i = 125 To ligne
suivante = i + 1
For each cel In plage
If cel.Value = "O" & suivant Then cpt = cpt + 1
Next cel
If cpt > 0 Then
ws.Cells(i, 1).Interior.ColorIndex = 6
ws.Cells(suivante, 1).Interior.ColorIndex = 6
End If
Next i
End Sub
Le traitement risque d'être long..
;o)
Je pense que ce n'est pas très loin du résultat que j'attends sauf que là, j'crois qu'on c'est pas compris lol
If cel.Value = "O" & suivant Then cpt = cpt + 1
Ou je ne comprend pas.
Voici avec un exemple, ca sera peut etre plus simple
Dans la plage c2:c1037, j'ai la valeur en c50 -> 123456789
Maintenant, en O133, j'ai également cette valeur 123456789
Je voudrais, grâce à la fonction qu'on est en train d'établir, faire en sorte que la cellule O133 ressorte avec un fond jaune car elle existe dans la plage c2:c1037
Et donc, il faut que je fasse ca pour chaque ligne de la colonne O.
Je pense que c'est plus clair ;)
Merci
If cel.Value = "O" & suivant Then cpt = cpt + 1
Ou je ne comprend pas.
Voici avec un exemple, ca sera peut etre plus simple
Dans la plage c2:c1037, j'ai la valeur en c50 -> 123456789
Maintenant, en O133, j'ai également cette valeur 123456789
Je voudrais, grâce à la fonction qu'on est en train d'établir, faire en sorte que la cellule O133 ressorte avec un fond jaune car elle existe dans la plage c2:c1037
Et donc, il faut que je fasse ca pour chaque ligne de la colonne O.
Je pense que c'est plus clair ;)
Merci
Tu veux comparer 2 cellules de la même ligne, l'une en colonne C et l'autre en colonne O.
C'est bien ça ?
Parce que à la base le sujet c'est : Je cherche en vba a compter avec condition ...
C'est bien ça ?
Parce que à la base le sujet c'est : Je cherche en vba a compter avec condition ...