Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Selection plage de cellules

3 réponses
Avatar
jmp
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

3 réponses

Avatar
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


Avatar
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


.



Avatar
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