Bonjour,
Je voudrais que cette macro selectionne les cellules par ex a5 af5 de mon
tableau a la place de devoir le faire avant de lancer la macro.J'ai essayé
pas mal de trucs mais ça coince.Voici le code qui me permet après selection
d'une plage de cellules de me compter les cellules à fond vert.
Sub Comptecellvertes()
Dim Cellule As Range
Dim total As Variant
For Each Cellule In Selection
If Cellule.Interior.ColorIndex = 4 Then
total = total + Cellule.Count
End If
Next
MsgBox "Il y a " & total & " Cellules vertes"
Range("AH5") = total
End Sub
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Pierre Fauconnier
Bonjour
Deux solutions
1. Remplace la ligne For Each ... par For Each Cellule in Range("a5:af5") ...
2. Passe la plage en Arguments et tant qu'à faire, éventuellement, change Sub en Function. Ta proc devient alors une fonction plus facilement manipulable au sein d'un code
Function Comptecellvertes(MaPlage as Range) ... For Each Cellule in MaPlage ...
CompteCellVertes = Total End Function
-- Cela convient-il? ---- Pierre Fauconnier "N'insulte pas le crocodile avant d'avoir traversé la rivière" (Julos Beaucarne)
jmp wrote:
Bonjour, Je voudrais que cette macro selectionne les cellules par ex a5 af5 de mon tableau a la place de devoir le faire avant de lancer la macro.J'ai essayé pas mal de trucs mais ça coince.Voici le code qui me permet après selection d'une plage de cellules de me compter les cellules à fond vert.
Sub Comptecellvertes() Dim Cellule As Range Dim total As Variant For Each Cellule In Selection If Cellule.Interior.ColorIndex = 4 Then total = total + Cellule.Count End If Next MsgBox "Il y a " & total & " Cellules vertes" Range("AH5") = total End Sub
Merci pour votre aide
Bonjour
Deux solutions
1.
Remplace la ligne For Each ...
par
For Each Cellule in Range("a5:af5")
...
2.
Passe la plage en Arguments et tant qu'à faire, éventuellement, change Sub
en Function. Ta proc devient alors une fonction plus facilement manipulable
au sein d'un code
Function Comptecellvertes(MaPlage as Range)
...
For Each Cellule in MaPlage
...
CompteCellVertes = Total
End Function
--
Cela convient-il?
----
Pierre Fauconnier
"N'insulte pas le crocodile avant d'avoir traversé la rivière" (Julos
Beaucarne)
jmp wrote:
Bonjour,
Je voudrais que cette macro selectionne les cellules par ex a5 af5 de
mon tableau a la place de devoir le faire avant de lancer la
macro.J'ai essayé pas mal de trucs mais ça coince.Voici le code qui
me permet après selection d'une plage de cellules de me compter les
cellules à fond vert.
Sub Comptecellvertes()
Dim Cellule As Range
Dim total As Variant
For Each Cellule In Selection
If Cellule.Interior.ColorIndex = 4 Then
total = total + Cellule.Count
End If
Next
MsgBox "Il y a " & total & " Cellules vertes"
Range("AH5") = total
End Sub
1. Remplace la ligne For Each ... par For Each Cellule in Range("a5:af5") ...
2. Passe la plage en Arguments et tant qu'à faire, éventuellement, change Sub en Function. Ta proc devient alors une fonction plus facilement manipulable au sein d'un code
Function Comptecellvertes(MaPlage as Range) ... For Each Cellule in MaPlage ...
CompteCellVertes = Total End Function
-- Cela convient-il? ---- Pierre Fauconnier "N'insulte pas le crocodile avant d'avoir traversé la rivière" (Julos Beaucarne)
jmp wrote:
Bonjour, Je voudrais que cette macro selectionne les cellules par ex a5 af5 de mon tableau a la place de devoir le faire avant de lancer la macro.J'ai essayé pas mal de trucs mais ça coince.Voici le code qui me permet après selection d'une plage de cellules de me compter les cellules à fond vert.
Sub Comptecellvertes() Dim Cellule As Range Dim total As Variant For Each Cellule In Selection If Cellule.Interior.ColorIndex = 4 Then total = total + Cellule.Count End If Next MsgBox "Il y a " & total & " Cellules vertes" Range("AH5") = total End Sub
Merci pour votre aide
ERIC
avant la ligne For Each Cellule In Selection, insérer Range("A5:AF5").Select ça devrait marcher
-----Message d'origine----- Bonjour, Je voudrais que cette macro selectionne les cellules par ex a5 af5 de mon
tableau a la place de devoir le faire avant de lancer la macro.J'ai essayé
pas mal de trucs mais ça coince.Voici le code qui me permet après selection
d'une plage de cellules de me compter les cellules à fond vert.
Sub Comptecellvertes() Dim Cellule As Range Dim total As Variant For Each Cellule In Selection If Cellule.Interior.ColorIndex = 4 Then total = total + Cellule.Count End If Next MsgBox "Il y a " & total & " Cellules vertes" Range("AH5") = total End Sub
Merci pour votre aide
.
avant la ligne
For Each Cellule In Selection,
insérer
Range("A5:AF5").Select
ça devrait marcher
-----Message d'origine-----
Bonjour,
Je voudrais que cette macro selectionne les cellules par
ex a5 af5 de mon
tableau a la place de devoir le faire avant de lancer la
macro.J'ai essayé
pas mal de trucs mais ça coince.Voici le code qui me
permet après selection
d'une plage de cellules de me compter les cellules à fond
vert.
Sub Comptecellvertes()
Dim Cellule As Range
Dim total As Variant
For Each Cellule In Selection
If Cellule.Interior.ColorIndex = 4 Then
total = total + Cellule.Count
End If
Next
MsgBox "Il y a " & total & " Cellules vertes"
Range("AH5") = total
End Sub
avant la ligne For Each Cellule In Selection, insérer Range("A5:AF5").Select ça devrait marcher
-----Message d'origine----- Bonjour, Je voudrais que cette macro selectionne les cellules par ex a5 af5 de mon
tableau a la place de devoir le faire avant de lancer la macro.J'ai essayé
pas mal de trucs mais ça coince.Voici le code qui me permet après selection
d'une plage de cellules de me compter les cellules à fond vert.
Sub Comptecellvertes() Dim Cellule As Range Dim total As Variant For Each Cellule In Selection If Cellule.Interior.ColorIndex = 4 Then total = total + Cellule.Count End If Next MsgBox "Il y a " & total & " Cellules vertes" Range("AH5") = total End Sub
Merci pour votre aide
.
Pierre Fauconnier
En complément, tu utilises évidemment la fonction comme valeur... Par exemple msgbox "Nombre de cellules vertes = " & CompteCellVertes(Range("A5:AF5")
Pierre
jmp wrote:
Bonjour, Je voudrais que cette macro selectionne les cellules par ex a5 af5 de mon tableau a la place de devoir le faire avant de lancer la macro.J'ai essayé pas mal de trucs mais ça coince.Voici le code qui me permet après selection d'une plage de cellules de me compter les cellules à fond vert.
Sub Comptecellvertes() Dim Cellule As Range Dim total As Variant For Each Cellule In Selection If Cellule.Interior.ColorIndex = 4 Then total = total + Cellule.Count End If Next MsgBox "Il y a " & total & " Cellules vertes" Range("AH5") = total End Sub
Merci pour votre aide
En complément, tu utilises évidemment la fonction comme valeur...
Par exemple
msgbox "Nombre de cellules vertes = " & CompteCellVertes(Range("A5:AF5")
Pierre
jmp wrote:
Bonjour,
Je voudrais que cette macro selectionne les cellules par ex a5 af5 de
mon tableau a la place de devoir le faire avant de lancer la
macro.J'ai essayé pas mal de trucs mais ça coince.Voici le code qui
me permet après selection d'une plage de cellules de me compter les
cellules à fond vert.
Sub Comptecellvertes()
Dim Cellule As Range
Dim total As Variant
For Each Cellule In Selection
If Cellule.Interior.ColorIndex = 4 Then
total = total + Cellule.Count
End If
Next
MsgBox "Il y a " & total & " Cellules vertes"
Range("AH5") = total
End Sub
En complément, tu utilises évidemment la fonction comme valeur... Par exemple msgbox "Nombre de cellules vertes = " & CompteCellVertes(Range("A5:AF5")
Pierre
jmp wrote:
Bonjour, Je voudrais que cette macro selectionne les cellules par ex a5 af5 de mon tableau a la place de devoir le faire avant de lancer la macro.J'ai essayé pas mal de trucs mais ça coince.Voici le code qui me permet après selection d'une plage de cellules de me compter les cellules à fond vert.
Sub Comptecellvertes() Dim Cellule As Range Dim total As Variant For Each Cellule In Selection If Cellule.Interior.ColorIndex = 4 Then total = total + Cellule.Count End If Next MsgBox "Il y a " & total & " Cellules vertes" Range("AH5") = total End Sub