OVH Cloud OVH Cloud

lecture d'une sutie de nombre

7 réponses
Avatar
Michel Giustina
Bonjour,

je désire lire une suite de nombre contenu dans une cellule.
Exp:
A1="2;5;6"
Je désire avoir la moyenne des nombre contenu dans A1

Merci d'avance

--
Michel Giustina

7 réponses

Avatar
anonymousA
Bonjour,

Une solution avec VBA qui couvre le cas général ( donc si l'on imagine
que l'on ne connait pas le cardinal de l'ensemble des nombres et il
peut y avoir entre les nombres séparés par des virgules autre chose
que des nombres ). Il faut avoir Excel2000 au moins.

temp = 0
nb = 0
For I = LBound(Split(ActiveCell.Value, ",")) To
UBound(Split(ActiveCell.Value, ","))
If IsNumeric(Split(ActiveCell.Value, ",")(I)) Then
temp = temp + Split(ActiveCell.Value, ",")(I)
nb = nb + 1
End If
Next

On Error Resume Next
MsgBox "moyenne" & temp / nb

A+

On 1 fév, 13:24, Michel Giustina wrote:
Bonjour,

je désire lire une suite de nombre contenu dans une cellule.
Exp:
A1="2;5;6"
Je désire avoir la moyenne des nombre contenu dans A1

Merci d'avance

--
Michel Giustina


Avatar
Michel Giustina
Merci pour cette réponse rapide.

Je peu maitriser le caractère séparateur.
D'autre part est t'il possible d'avoir le même résultat
sans passer en VBA mais dans une formule

michel

anonymousA a couché sur son écran :
Bonjour,

Une solution avec VBA qui couvre le cas général ( donc si l'on imagine
que l'on ne connait pas le cardinal de l'ensemble des nombres et il
peut y avoir entre les nombres séparés par des virgules autre chose
que des nombres ). Il faut avoir Excel2000 au moins.

temp = 0
nb = 0
For I = LBound(Split(ActiveCell.Value, ",")) To
UBound(Split(ActiveCell.Value, ","))
If IsNumeric(Split(ActiveCell.Value, ",")(I)) Then
temp = temp + Split(ActiveCell.Value, ",")(I)
nb = nb + 1
End If
Next

On Error Resume Next
MsgBox "moyenne" & temp / nb

A+

On 1 fév, 13:24, Michel Giustina wrote:
Bonjour,

je désire lire une suite de nombre contenu dans une cellule.
Exp:
A1="2;5;6"
Je désire avoir la moyenne des nombre contenu dans A1

Merci d'avance

--
Michel Giustina



--
Michel Giustina


Avatar
JB
On 1 fév, 13:24, Michel Giustina wrote:
Bonjour,

je désire lire une suite de nombre contenu dans une cellule.
Exp:
A1="2;5;6"
Je désire avoir la moyenne des nombre contenu dans A1

Merci d'avance

--
Michel Giustina
Bonjour,


Sous forme de fonction. Dans un module:

Function moy(chaine)
temp = Split(chaine, ";")
t = 0
For i = LBound(temp) To UBound(temp)
t = t + Val(temp(i))
Next i
moy = t / (UBound(temp) - LBound(temp))
End Function

Dans le tableur:=Moy(A1)

JB

Avatar
JB
On 1 fév, 13:24, Michel Giustina wrote:
Bonjour,

je désire lire une suite de nombre contenu dans une cellule.
Exp:
A1="2;5;6"
Je désire avoir la moyenne des nombre contenu dans A1

Merci d'avance

--
Michel Giustina



Function moy(chaine, sep)
temp = Split(chaine, sep)
t = 0
For i = LBound(temp) To UBound(temp)
t = t + Val(temp(i))
Next i
moy = t / (UBound(temp) - LBound(temp))
End Function

=moy(B2;";")

JB

Avatar
anonymousA
Si le nombre de nombres séparés par une virgule n'est pas trop longue
et connu à l'avance et si le nombre de caractères représentant les
nombres est fixe , une salade de CHERCHE ou TROUVE associé avec des
STXT devrait faire l'affaire.Je te souhaite beaucoup de bonheur.

A+


On 1 fév, 13:47, Michel Giustina wrote:
Merci pour cette réponse rapide.

Je peu maitriser le caractère séparateur.
D'autre part est t'il possible d'avoir le même résultat
sans passer en VBA mais dans une formule

michel

anonymousA a couché sur son écran :





Bonjour,

Une solution avec VBA qui couvre le cas général ( donc si l'on imag ine
que l'on ne connait pas le cardinal de l'ensemble des nombres et il
peut y avoir entre les nombres séparés par des virgules autre chose
que des nombres ). Il faut avoir Excel2000 au moins.

temp = 0
nb = 0
For I = LBound(Split(ActiveCell.Value, ",")) To
UBound(Split(ActiveCell.Value, ","))
If IsNumeric(Split(ActiveCell.Value, ",")(I)) Then
temp = temp + Split(ActiveCell.Value, ",")(I)
nb = nb + 1
End If
Next

On Error Resume Next
MsgBox "moyenne" & temp / nb

A+

On 1 fév, 13:24, Michel Giustina wrote:
Bonjour,

je désire lire une suite de nombre contenu dans une cellule.
Exp:
A1="2;5;6"
Je désire avoir la moyenne des nombre contenu dans A1

Merci d'avance

--
Michel Giustina



--
Michel Giustina- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -




Avatar
Michel Giustina
Merci

JB vient de nous annoncer :
On 1 fév, 13:24, Michel Giustina wrote:
Bonjour,

je désire lire une suite de nombre contenu dans une cellule.
Exp:
A1="2;5;6"
Je désire avoir la moyenne des nombre contenu dans A1

Merci d'avance

--
Michel Giustina



Function moy(chaine, sep)
temp = Split(chaine, sep)
t = 0
For i = LBound(temp) To UBound(temp)
t = t + Val(temp(i))
Next i
moy = t / (UBound(temp) - LBound(temp))
End Function

=moy(B2;";")

JB


--
Michel Giustina


Avatar
Michel Giustina
je ne maîtrise pas le nombre de nombre, donc VBA

merci

anonymousA a exposé le 01/02/2007 :
Si le nombre de nombres séparés par une virgule n'est pas trop longue
et connu à l'avance et si le nombre de caractères représentant les
nombres est fixe , une salade de CHERCHE ou TROUVE associé avec des
STXT devrait faire l'affaire.Je te souhaite beaucoup de bonheur.

A+


On 1 fév, 13:47, Michel Giustina wrote:
Merci pour cette réponse rapide.

Je peu maitriser le caractère séparateur.
D'autre part est t'il possible d'avoir le même résultat
sans passer en VBA mais dans une formule

michel

anonymousA a couché sur son écran :





Bonjour,

Une solution avec VBA qui couvre le cas général ( donc si l'on imagine
que l'on ne connait pas le cardinal de l'ensemble des nombres et il
peut y avoir entre les nombres séparés par des virgules autre chose
que des nombres ). Il faut avoir Excel2000 au moins.
temp = 0
nb = 0
For I = LBound(Split(ActiveCell.Value, ",")) To
UBound(Split(ActiveCell.Value, ","))
If IsNumeric(Split(ActiveCell.Value, ",")(I)) Then
temp = temp + Split(ActiveCell.Value, ",")(I)
nb = nb + 1
End If
Next

On Error Resume Next
MsgBox "moyenne" & temp / nb

A+

On 1 fév, 13:24, Michel Giustina wrote:
Bonjour,

je désire lire une suite de nombre contenu dans une cellule.
Exp:
A1="2;5;6"
Je désire avoir la moyenne des nombre contenu dans A1
Merci d'avance

--
Michel Giustina



--
Michel Giustina- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



--
Michel Giustina