Comment faire la moyenne de tous les chiffres
apparaissant dans des cellules pouvant contenir
des lettres et/ou des chiffres, m'a-t-on demandé.
Et le plus court possibe, qui disaient, les vilains !
J'ai trouvé ça :
Sub Moyenne_Bizz()
On Error Resume Next
For Each c In Selection
For i = 1 To Len(c)
n = Mid(c, i, 1)
If IsNumeric(n) Then
k = k + 1
s = s + Val(n)
End If
Next i
Next
MsgBox "Moyenne : " & s / k
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
Match
Salut garnote, par formule il y a bien
ex: en colonne A 1 k 7 5
3 4
=moyenne(a1:a6) donne 4 --- espérant aider par vba je passe
Match
"garnote" a écrit dans le message de news:7sxrc.5941$
Allo vous tous et toutes,
Comment faire la moyenne de tous les chiffres apparaissant dans des cellules pouvant contenir des lettres et/ou des chiffres, m'a-t-on demandé. Et le plus court possibe, qui disaient, les vilains ! J'ai trouvé ça :
Sub Moyenne_Bizz() On Error Resume Next For Each c In Selection For i = 1 To Len(c) n = Mid(c, i, 1) If IsNumeric(n) Then k = k + 1 s = s + Val(n) End If Next i Next MsgBox "Moyenne : " & s / k End Sub
Peut-on faire plus court ?
Serge
Salut garnote,
par formule il y a bien
ex:
en colonne A
1
k
7
5
3
4
=moyenne(a1:a6)
donne 4
---
espérant aider
par vba je passe
Match
"garnote" <rien@absent.net> a écrit dans le message de
news:7sxrc.5941$SQ2.1243@edtnps89...
Allo vous tous et toutes,
Comment faire la moyenne de tous les chiffres
apparaissant dans des cellules pouvant contenir
des lettres et/ou des chiffres, m'a-t-on demandé.
Et le plus court possibe, qui disaient, les vilains !
J'ai trouvé ça :
Sub Moyenne_Bizz()
On Error Resume Next
For Each c In Selection
For i = 1 To Len(c)
n = Mid(c, i, 1)
If IsNumeric(n) Then
k = k + 1
s = s + Val(n)
End If
Next i
Next
MsgBox "Moyenne : " & s / k
End Sub
=moyenne(a1:a6) donne 4 --- espérant aider par vba je passe
Match
"garnote" a écrit dans le message de news:7sxrc.5941$
Allo vous tous et toutes,
Comment faire la moyenne de tous les chiffres apparaissant dans des cellules pouvant contenir des lettres et/ou des chiffres, m'a-t-on demandé. Et le plus court possibe, qui disaient, les vilains ! J'ai trouvé ça :
Sub Moyenne_Bizz() On Error Resume Next For Each c In Selection For i = 1 To Len(c) n = Mid(c, i, 1) If IsNumeric(n) Then k = k + 1 s = s + Val(n) End If Next i Next MsgBox "Moyenne : " & s / k End Sub
Peut-on faire plus court ?
Serge
Pascal Engelmajer
Salut, Sub b() With Application MsgBox .Sum([A1:A6]) / .Count([A1:A6]) End With End Sub sans vba =SOMME(A1:A6)/NB(A1:A6) -- Amicalement. Pascal "il n'y a pas de vent favorable pour celui qui ne sait pas ou il va." Sénèque. http://www.ilyapa.net/excel http://www.ilyapa.net/baseExcel "Match" a écrit dans le message de news:
Salut garnote, par formule il y a bien
ex: en colonne A 1 k 7 5
3 4
=moyenne(a1:a6) donne 4 --- espérant aider par vba je passe
Match
"garnote" a écrit dans le message de news:7sxrc.5941$
Allo vous tous et toutes,
Comment faire la moyenne de tous les chiffres apparaissant dans des cellules pouvant contenir des lettres et/ou des chiffres, m'a-t-on demandé. Et le plus court possibe, qui disaient, les vilains ! J'ai trouvé ça :
Sub Moyenne_Bizz() On Error Resume Next For Each c In Selection For i = 1 To Len(c) n = Mid(c, i, 1) If IsNumeric(n) Then k = k + 1 s = s + Val(n) End If Next i Next MsgBox "Moyenne : " & s / k End Sub
Peut-on faire plus court ?
Serge
Salut,
Sub b()
With Application
MsgBox .Sum([A1:A6]) / .Count([A1:A6])
End With
End Sub
sans vba
=SOMME(A1:A6)/NB(A1:A6)
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
http://www.ilyapa.net/baseExcel
"Match" <XX_match450@videotron.ca> a écrit dans le message de news:
egPmgw6PEHA.3348@TK2MSFTNGP09.phx.gbl...
Salut garnote,
par formule il y a bien
ex:
en colonne A
1
k
7
5
3
4
=moyenne(a1:a6)
donne 4
---
espérant aider
par vba je passe
Match
"garnote" <rien@absent.net> a écrit dans le message de
news:7sxrc.5941$SQ2.1243@edtnps89...
Allo vous tous et toutes,
Comment faire la moyenne de tous les chiffres
apparaissant dans des cellules pouvant contenir
des lettres et/ou des chiffres, m'a-t-on demandé.
Et le plus court possibe, qui disaient, les vilains !
J'ai trouvé ça :
Sub Moyenne_Bizz()
On Error Resume Next
For Each c In Selection
For i = 1 To Len(c)
n = Mid(c, i, 1)
If IsNumeric(n) Then
k = k + 1
s = s + Val(n)
End If
Next i
Next
MsgBox "Moyenne : " & s / k
End Sub
Salut, Sub b() With Application MsgBox .Sum([A1:A6]) / .Count([A1:A6]) End With End Sub sans vba =SOMME(A1:A6)/NB(A1:A6) -- Amicalement. Pascal "il n'y a pas de vent favorable pour celui qui ne sait pas ou il va." Sénèque. http://www.ilyapa.net/excel http://www.ilyapa.net/baseExcel "Match" a écrit dans le message de news:
Salut garnote, par formule il y a bien
ex: en colonne A 1 k 7 5
3 4
=moyenne(a1:a6) donne 4 --- espérant aider par vba je passe
Match
"garnote" a écrit dans le message de news:7sxrc.5941$
Allo vous tous et toutes,
Comment faire la moyenne de tous les chiffres apparaissant dans des cellules pouvant contenir des lettres et/ou des chiffres, m'a-t-on demandé. Et le plus court possibe, qui disaient, les vilains ! J'ai trouvé ça :
Sub Moyenne_Bizz() On Error Resume Next For Each c In Selection For i = 1 To Len(c) n = Mid(c, i, 1) If IsNumeric(n) Then k = k + 1 s = s + Val(n) End If Next i Next MsgBox "Moyenne : " & s / k End Sub
Peut-on faire plus court ?
Serge
garnote
Merci à vous deux mais ça ne fonctionne que pour des cellules contenant un seul chiffre ou une seule lettre. Mais si :
1jk3n7 kkj8nn7 ch7d ...
A+ Serge
"Pascal Engelmajer" a écrit dans le message de news:
Salut, Sub b() With Application MsgBox .Sum([A1:A6]) / .Count([A1:A6]) End With End Sub sans vba =SOMME(A1:A6)/NB(A1:A6) -- Amicalement. Pascal "il n'y a pas de vent favorable pour celui qui ne sait pas ou il va." Sénèque. http://www.ilyapa.net/excel http://www.ilyapa.net/baseExcel "Match" a écrit dans le message de news:
Salut garnote, par formule il y a bien
ex: en colonne A 1 k 7 5
3 4
=moyenne(a1:a6) donne 4 --- espérant aider par vba je passe
Match
"garnote" a écrit dans le message de news:7sxrc.5941$
Allo vous tous et toutes,
Comment faire la moyenne de tous les chiffres apparaissant dans des cellules pouvant contenir des lettres et/ou des chiffres, m'a-t-on demandé. Et le plus court possibe, qui disaient, les vilains ! J'ai trouvé ça :
Sub Moyenne_Bizz() On Error Resume Next For Each c In Selection For i = 1 To Len(c) n = Mid(c, i, 1) If IsNumeric(n) Then k = k + 1 s = s + Val(n) End If Next i Next MsgBox "Moyenne : " & s / k End Sub
Peut-on faire plus court ?
Serge
Merci à vous deux mais ça ne fonctionne que
pour des cellules contenant un seul chiffre ou
une seule lettre. Mais si :
1jk3n7
kkj8nn7
ch7d
...
A+
Serge
"Pascal Engelmajer" <pascal.engelmajer@ilyapa_spam.net> a écrit dans le
message de news: ueZwTZ8PEHA.3012@tk2msftngp13.phx.gbl...
Salut,
Sub b()
With Application
MsgBox .Sum([A1:A6]) / .Count([A1:A6])
End With
End Sub
sans vba
=SOMME(A1:A6)/NB(A1:A6)
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
http://www.ilyapa.net/baseExcel
"Match" <XX_match450@videotron.ca> a écrit dans le message de news:
egPmgw6PEHA.3348@TK2MSFTNGP09.phx.gbl...
Salut garnote,
par formule il y a bien
ex:
en colonne A
1
k
7
5
3
4
=moyenne(a1:a6)
donne 4
---
espérant aider
par vba je passe
Match
"garnote" <rien@absent.net> a écrit dans le message de
news:7sxrc.5941$SQ2.1243@edtnps89...
Allo vous tous et toutes,
Comment faire la moyenne de tous les chiffres
apparaissant dans des cellules pouvant contenir
des lettres et/ou des chiffres, m'a-t-on demandé.
Et le plus court possibe, qui disaient, les vilains !
J'ai trouvé ça :
Sub Moyenne_Bizz()
On Error Resume Next
For Each c In Selection
For i = 1 To Len(c)
n = Mid(c, i, 1)
If IsNumeric(n) Then
k = k + 1
s = s + Val(n)
End If
Next i
Next
MsgBox "Moyenne : " & s / k
End Sub
Merci à vous deux mais ça ne fonctionne que pour des cellules contenant un seul chiffre ou une seule lettre. Mais si :
1jk3n7 kkj8nn7 ch7d ...
A+ Serge
"Pascal Engelmajer" a écrit dans le message de news:
Salut, Sub b() With Application MsgBox .Sum([A1:A6]) / .Count([A1:A6]) End With End Sub sans vba =SOMME(A1:A6)/NB(A1:A6) -- Amicalement. Pascal "il n'y a pas de vent favorable pour celui qui ne sait pas ou il va." Sénèque. http://www.ilyapa.net/excel http://www.ilyapa.net/baseExcel "Match" a écrit dans le message de news:
Salut garnote, par formule il y a bien
ex: en colonne A 1 k 7 5
3 4
=moyenne(a1:a6) donne 4 --- espérant aider par vba je passe
Match
"garnote" a écrit dans le message de news:7sxrc.5941$
Allo vous tous et toutes,
Comment faire la moyenne de tous les chiffres apparaissant dans des cellules pouvant contenir des lettres et/ou des chiffres, m'a-t-on demandé. Et le plus court possibe, qui disaient, les vilains ! J'ai trouvé ça :
Sub Moyenne_Bizz() On Error Resume Next For Each c In Selection For i = 1 To Len(c) n = Mid(c, i, 1) If IsNumeric(n) Then k = k + 1 s = s + Val(n) End If Next i Next MsgBox "Moyenne : " & s / k End Sub
Peut-on faire plus court ?
Serge
Match
Salut Serge, pourquoi ne pas passer par une feuille intermédiaire et "convertir" pour répartir les valeurs uniques dans des cellules différentes
Match
"garnote" a écrit dans le message de news:rj5sc.5216$
Merci à vous deux mais ça ne fonctionne que pour des cellules contenant un seul chiffre ou une seule lettre. Mais si :
1jk3n7 kkj8nn7 ch7d ...
A+ Serge
"Pascal Engelmajer" a écrit dans le message de news:
Salut, Sub b() With Application MsgBox .Sum([A1:A6]) / .Count([A1:A6]) End With End Sub sans vba =SOMME(A1:A6)/NB(A1:A6) -- Amicalement. Pascal "il n'y a pas de vent favorable pour celui qui ne sait pas ou il va." Sénèque. http://www.ilyapa.net/excel http://www.ilyapa.net/baseExcel "Match" a écrit dans le message de news:
Salut garnote, par formule il y a bien
ex: en colonne A 1 k 7 5
3 4
=moyenne(a1:a6) donne 4 --- espérant aider par vba je passe
Match
"garnote" a écrit dans le message de news:7sxrc.5941$
Allo vous tous et toutes,
Comment faire la moyenne de tous les chiffres apparaissant dans des cellules pouvant contenir des lettres et/ou des chiffres, m'a-t-on demandé. Et le plus court possibe, qui disaient, les vilains ! J'ai trouvé ça :
Sub Moyenne_Bizz() On Error Resume Next For Each c In Selection For i = 1 To Len(c) n = Mid(c, i, 1) If IsNumeric(n) Then k = k + 1 s = s + Val(n) End If Next i Next MsgBox "Moyenne : " & s / k End Sub
Peut-on faire plus court ?
Serge
Salut Serge,
pourquoi ne pas passer par une feuille intermédiaire et "convertir" pour
répartir les valeurs uniques dans des cellules différentes
Match
"garnote" <rien@absent.net> a écrit dans le message de
news:rj5sc.5216$J02.832@edtnps84...
Merci à vous deux mais ça ne fonctionne que
pour des cellules contenant un seul chiffre ou
une seule lettre. Mais si :
1jk3n7
kkj8nn7
ch7d
...
A+
Serge
"Pascal Engelmajer" <pascal.engelmajer@ilyapa_spam.net> a écrit dans le
message de news: ueZwTZ8PEHA.3012@tk2msftngp13.phx.gbl...
Salut,
Sub b()
With Application
MsgBox .Sum([A1:A6]) / .Count([A1:A6])
End With
End Sub
sans vba
=SOMME(A1:A6)/NB(A1:A6)
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
http://www.ilyapa.net/baseExcel
"Match" <XX_match450@videotron.ca> a écrit dans le message de news:
egPmgw6PEHA.3348@TK2MSFTNGP09.phx.gbl...
Salut garnote,
par formule il y a bien
ex:
en colonne A
1
k
7
5
3
4
=moyenne(a1:a6)
donne 4
---
espérant aider
par vba je passe
Match
"garnote" <rien@absent.net> a écrit dans le message de
news:7sxrc.5941$SQ2.1243@edtnps89...
Allo vous tous et toutes,
Comment faire la moyenne de tous les chiffres
apparaissant dans des cellules pouvant contenir
des lettres et/ou des chiffres, m'a-t-on demandé.
Et le plus court possibe, qui disaient, les vilains !
J'ai trouvé ça :
Sub Moyenne_Bizz()
On Error Resume Next
For Each c In Selection
For i = 1 To Len(c)
n = Mid(c, i, 1)
If IsNumeric(n) Then
k = k + 1
s = s + Val(n)
End If
Next i
Next
MsgBox "Moyenne : " & s / k
End Sub
Salut Serge, pourquoi ne pas passer par une feuille intermédiaire et "convertir" pour répartir les valeurs uniques dans des cellules différentes
Match
"garnote" a écrit dans le message de news:rj5sc.5216$
Merci à vous deux mais ça ne fonctionne que pour des cellules contenant un seul chiffre ou une seule lettre. Mais si :
1jk3n7 kkj8nn7 ch7d ...
A+ Serge
"Pascal Engelmajer" a écrit dans le message de news:
Salut, Sub b() With Application MsgBox .Sum([A1:A6]) / .Count([A1:A6]) End With End Sub sans vba =SOMME(A1:A6)/NB(A1:A6) -- Amicalement. Pascal "il n'y a pas de vent favorable pour celui qui ne sait pas ou il va." Sénèque. http://www.ilyapa.net/excel http://www.ilyapa.net/baseExcel "Match" a écrit dans le message de news:
Salut garnote, par formule il y a bien
ex: en colonne A 1 k 7 5
3 4
=moyenne(a1:a6) donne 4 --- espérant aider par vba je passe
Match
"garnote" a écrit dans le message de news:7sxrc.5941$
Allo vous tous et toutes,
Comment faire la moyenne de tous les chiffres apparaissant dans des cellules pouvant contenir des lettres et/ou des chiffres, m'a-t-on demandé. Et le plus court possibe, qui disaient, les vilains ! J'ai trouvé ça :
Sub Moyenne_Bizz() On Error Resume Next For Each c In Selection For i = 1 To Len(c) n = Mid(c, i, 1) If IsNumeric(n) Then k = k + 1 s = s + Val(n) End If Next i Next MsgBox "Moyenne : " & s / k End Sub
Peut-on faire plus court ?
Serge
Pascal Engelmajer
Salut,
1jk3n7 kkj8nn7 ch7d que faut-il faire dans ces cas ?
-- Amicalement. Pascal "il n'y a pas de vent favorable pour celui qui ne sait pas ou il va." Sénèque. http://www.ilyapa.net/excel http://www.ilyapa.net/baseExcel "garnote" a écrit dans le message de news: rj5sc.5216$
Merci à vous deux mais ça ne fonctionne que pour des cellules contenant un seul chiffre ou une seule lettre. Mais si :
1jk3n7 kkj8nn7 ch7d ...
A+ Serge
"Pascal Engelmajer" a écrit dans le message de news:
Salut, Sub b() With Application MsgBox .Sum([A1:A6]) / .Count([A1:A6]) End With End Sub sans vba =SOMME(A1:A6)/NB(A1:A6) -- Amicalement. Pascal "il n'y a pas de vent favorable pour celui qui ne sait pas ou il va." Sénèque. http://www.ilyapa.net/excel http://www.ilyapa.net/baseExcel "Match" a écrit dans le message de news:
Salut garnote, par formule il y a bien
ex: en colonne A 1 k 7 5
3 4
=moyenne(a1:a6) donne 4 --- espérant aider par vba je passe
Match
"garnote" a écrit dans le message de news:7sxrc.5941$
Allo vous tous et toutes,
Comment faire la moyenne de tous les chiffres apparaissant dans des cellules pouvant contenir des lettres et/ou des chiffres, m'a-t-on demandé. Et le plus court possibe, qui disaient, les vilains ! J'ai trouvé ça :
Sub Moyenne_Bizz() On Error Resume Next For Each c In Selection For i = 1 To Len(c) n = Mid(c, i, 1) If IsNumeric(n) Then k = k + 1 s = s + Val(n) End If Next i Next MsgBox "Moyenne : " & s / k End Sub
Peut-on faire plus court ?
Serge
Salut,
1jk3n7
kkj8nn7
ch7d
que faut-il faire dans ces cas ?
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
http://www.ilyapa.net/baseExcel
"garnote" <rien@absent.net> a écrit dans le message de news:
rj5sc.5216$J02.832@edtnps84...
Merci à vous deux mais ça ne fonctionne que
pour des cellules contenant un seul chiffre ou
une seule lettre. Mais si :
1jk3n7
kkj8nn7
ch7d
...
A+
Serge
"Pascal Engelmajer" <pascal.engelmajer@ilyapa_spam.net> a écrit dans le
message de news: ueZwTZ8PEHA.3012@tk2msftngp13.phx.gbl...
Salut,
Sub b()
With Application
MsgBox .Sum([A1:A6]) / .Count([A1:A6])
End With
End Sub
sans vba
=SOMME(A1:A6)/NB(A1:A6)
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
http://www.ilyapa.net/baseExcel
"Match" <XX_match450@videotron.ca> a écrit dans le message de news:
egPmgw6PEHA.3348@TK2MSFTNGP09.phx.gbl...
Salut garnote,
par formule il y a bien
ex:
en colonne A
1
k
7
5
3
4
=moyenne(a1:a6)
donne 4
---
espérant aider
par vba je passe
Match
"garnote" <rien@absent.net> a écrit dans le message de
news:7sxrc.5941$SQ2.1243@edtnps89...
Allo vous tous et toutes,
Comment faire la moyenne de tous les chiffres
apparaissant dans des cellules pouvant contenir
des lettres et/ou des chiffres, m'a-t-on demandé.
Et le plus court possibe, qui disaient, les vilains !
J'ai trouvé ça :
Sub Moyenne_Bizz()
On Error Resume Next
For Each c In Selection
For i = 1 To Len(c)
n = Mid(c, i, 1)
If IsNumeric(n) Then
k = k + 1
s = s + Val(n)
End If
Next i
Next
MsgBox "Moyenne : " & s / k
End Sub
1jk3n7 kkj8nn7 ch7d que faut-il faire dans ces cas ?
-- Amicalement. Pascal "il n'y a pas de vent favorable pour celui qui ne sait pas ou il va." Sénèque. http://www.ilyapa.net/excel http://www.ilyapa.net/baseExcel "garnote" a écrit dans le message de news: rj5sc.5216$
Merci à vous deux mais ça ne fonctionne que pour des cellules contenant un seul chiffre ou une seule lettre. Mais si :
1jk3n7 kkj8nn7 ch7d ...
A+ Serge
"Pascal Engelmajer" a écrit dans le message de news:
Salut, Sub b() With Application MsgBox .Sum([A1:A6]) / .Count([A1:A6]) End With End Sub sans vba =SOMME(A1:A6)/NB(A1:A6) -- Amicalement. Pascal "il n'y a pas de vent favorable pour celui qui ne sait pas ou il va." Sénèque. http://www.ilyapa.net/excel http://www.ilyapa.net/baseExcel "Match" a écrit dans le message de news:
Salut garnote, par formule il y a bien
ex: en colonne A 1 k 7 5
3 4
=moyenne(a1:a6) donne 4 --- espérant aider par vba je passe
Match
"garnote" a écrit dans le message de news:7sxrc.5941$
Allo vous tous et toutes,
Comment faire la moyenne de tous les chiffres apparaissant dans des cellules pouvant contenir des lettres et/ou des chiffres, m'a-t-on demandé. Et le plus court possibe, qui disaient, les vilains ! J'ai trouvé ça :
Sub Moyenne_Bizz() On Error Resume Next For Each c In Selection For i = 1 To Len(c) n = Mid(c, i, 1) If IsNumeric(n) Then k = k + 1 s = s + Val(n) End If Next i Next MsgBox "Moyenne : " & s / k End Sub
Peut-on faire plus court ?
Serge
Daniel.M
Salut Serge,
Pour une sélection continue (1 zone) de 2000 cellules (mettons 100 lignes * 20 col), le code suivant roule plus rapidement.
Sub Moyenne_Bizz2() Dim i&, n&, k&, Tot&, S$
S = Selection.Cells.Address
For i = 0 To 9 k = Evaluate("=SUM(LEN(" & S & ")-LEN(SUBSTITUTE(" & _ S & ",""" & i & ""","""")))") n = n + k Tot = Tot + k * i Next i MsgBox "Moy:" & Tot / n End Sub
Salutations,
Daniel M.
"garnote" wrote in message news:rj5sc.5216$
Merci à vous deux mais ça ne fonctionne que pour des cellules contenant un seul chiffre ou une seule lettre. Mais si :
1jk3n7 kkj8nn7 ch7d ...
A+ Serge
"Pascal Engelmajer" a écrit dans le message de news:
Salut, Sub b() With Application MsgBox .Sum([A1:A6]) / .Count([A1:A6]) End With End Sub sans vba =SOMME(A1:A6)/NB(A1:A6) -- Amicalement. Pascal "il n'y a pas de vent favorable pour celui qui ne sait pas ou il va." Sénèque. http://www.ilyapa.net/excel http://www.ilyapa.net/baseExcel "Match" a écrit dans le message de news:
Salut garnote, par formule il y a bien
ex: en colonne A 1 k 7 5
3 4
=moyenne(a1:a6) donne 4 --- espérant aider par vba je passe
Match
"garnote" a écrit dans le message de news:7sxrc.5941$
Allo vous tous et toutes,
Comment faire la moyenne de tous les chiffres apparaissant dans des cellules pouvant contenir des lettres et/ou des chiffres, m'a-t-on demandé. Et le plus court possibe, qui disaient, les vilains ! J'ai trouvé ça :
Sub Moyenne_Bizz() On Error Resume Next For Each c In Selection For i = 1 To Len(c) n = Mid(c, i, 1) If IsNumeric(n) Then k = k + 1 s = s + Val(n) End If Next i Next MsgBox "Moyenne : " & s / k End Sub
Peut-on faire plus court ?
Serge
Salut Serge,
Pour une sélection continue (1 zone) de 2000 cellules (mettons 100 lignes * 20
col), le code suivant roule plus rapidement.
Sub Moyenne_Bizz2()
Dim i&, n&, k&, Tot&, S$
S = Selection.Cells.Address
For i = 0 To 9
k = Evaluate("=SUM(LEN(" & S & ")-LEN(SUBSTITUTE(" & _
S & ",""" & i & ""","""")))")
n = n + k
Tot = Tot + k * i
Next i
MsgBox "Moy:" & Tot / n
End Sub
Salutations,
Daniel M.
"garnote" <rien@absent.net> wrote in message news:rj5sc.5216$J02.832@edtnps84...
Merci à vous deux mais ça ne fonctionne que
pour des cellules contenant un seul chiffre ou
une seule lettre. Mais si :
1jk3n7
kkj8nn7
ch7d
...
A+
Serge
"Pascal Engelmajer" <pascal.engelmajer@ilyapa_spam.net> a écrit dans le
message de news: ueZwTZ8PEHA.3012@tk2msftngp13.phx.gbl...
Salut,
Sub b()
With Application
MsgBox .Sum([A1:A6]) / .Count([A1:A6])
End With
End Sub
sans vba
=SOMME(A1:A6)/NB(A1:A6)
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
http://www.ilyapa.net/baseExcel
"Match" <XX_match450@videotron.ca> a écrit dans le message de news:
egPmgw6PEHA.3348@TK2MSFTNGP09.phx.gbl...
Salut garnote,
par formule il y a bien
ex:
en colonne A
1
k
7
5
3
4
=moyenne(a1:a6)
donne 4
---
espérant aider
par vba je passe
Match
"garnote" <rien@absent.net> a écrit dans le message de
news:7sxrc.5941$SQ2.1243@edtnps89...
Allo vous tous et toutes,
Comment faire la moyenne de tous les chiffres
apparaissant dans des cellules pouvant contenir
des lettres et/ou des chiffres, m'a-t-on demandé.
Et le plus court possibe, qui disaient, les vilains !
J'ai trouvé ça :
Sub Moyenne_Bizz()
On Error Resume Next
For Each c In Selection
For i = 1 To Len(c)
n = Mid(c, i, 1)
If IsNumeric(n) Then
k = k + 1
s = s + Val(n)
End If
Next i
Next
MsgBox "Moyenne : " & s / k
End Sub
Pour une sélection continue (1 zone) de 2000 cellules (mettons 100 lignes * 20 col), le code suivant roule plus rapidement.
Sub Moyenne_Bizz2() Dim i&, n&, k&, Tot&, S$
S = Selection.Cells.Address
For i = 0 To 9 k = Evaluate("=SUM(LEN(" & S & ")-LEN(SUBSTITUTE(" & _ S & ",""" & i & ""","""")))") n = n + k Tot = Tot + k * i Next i MsgBox "Moy:" & Tot / n End Sub
Salutations,
Daniel M.
"garnote" wrote in message news:rj5sc.5216$
Merci à vous deux mais ça ne fonctionne que pour des cellules contenant un seul chiffre ou une seule lettre. Mais si :
1jk3n7 kkj8nn7 ch7d ...
A+ Serge
"Pascal Engelmajer" a écrit dans le message de news:
Salut, Sub b() With Application MsgBox .Sum([A1:A6]) / .Count([A1:A6]) End With End Sub sans vba =SOMME(A1:A6)/NB(A1:A6) -- Amicalement. Pascal "il n'y a pas de vent favorable pour celui qui ne sait pas ou il va." Sénèque. http://www.ilyapa.net/excel http://www.ilyapa.net/baseExcel "Match" a écrit dans le message de news:
Salut garnote, par formule il y a bien
ex: en colonne A 1 k 7 5
3 4
=moyenne(a1:a6) donne 4 --- espérant aider par vba je passe
Match
"garnote" a écrit dans le message de news:7sxrc.5941$
Allo vous tous et toutes,
Comment faire la moyenne de tous les chiffres apparaissant dans des cellules pouvant contenir des lettres et/ou des chiffres, m'a-t-on demandé. Et le plus court possibe, qui disaient, les vilains ! J'ai trouvé ça :
Sub Moyenne_Bizz() On Error Resume Next For Each c In Selection For i = 1 To Len(c) n = Mid(c, i, 1) If IsNumeric(n) Then k = k + 1 s = s + Val(n) End If Next i Next MsgBox "Moyenne : " & s / k End Sub