Bonsoir;
Après avoir retourné les fonctions Excel dans tous les sens; je n'arrive pas
à faire ce que je veux, c'est pourquoi je pense à une function avec la
fonction split.
En fin de post, mon classeur pour plus de compréhension.
Dans nom classeur, en colonne A des produit, colonne B des ref, colonne C
des lots en colonne D les rendement par lots.
Dans la colonne A il y a des plages nommées; une plages par type de produit.
Dans la colonne D (rendement) il y a plusieurs valeurs de rendement dans une
même cellule (les différentes valeur sont séparées par des " ; "), parfois
il y a aussi du texte ou bien rien.
Ce que je voudrais faire en colonne F c'est la moyenne des rendements par
produit.
J'arrive grâce à VBA à extraire avec la fonction SPLIT les valeurs (colonne
D) dans d'autre cellules (a condition que le nombre des valeurs soit fixe (2
valeurs par exemple) mais bon pas très pratique quand même... .
Je pense donc à une petite "Private function exctration()" qui fait:
Cible la/les plages nommées en colonne A
Se décale en colonne D
Extrait l'enssemble des valeurs de la plage grâce à une fonction split.
Stocke ses valeurs dans des variables
Si la cellules contient du texte ou rien alors ne rien stocker
Me renvois la moyenne.
Passe à la plage nommée suivante.
Je connais encore très peu le VBA et encore moins les functions.
Si ma démarche est la bonne, quelqu'un peut il ne donner un petit coup de
main.
Je ne sais pas comment (dans ce cas) atteindre une plage nommée.
Stocker les valeurs extraites dans un nombre de variable fonction du nombre
de valeurs extraites.
Ici mon classeur: http://cjoint.com/?klupAq2vtn
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
JB
Bonsoir,
http://cjoint.com/?klvuoJVjqr
Function MoyenneChamp(champ As Range) As Double Dim temp As Double, nb As Integer temp = 0 nb = 0 For Each c In champ If c <> Empty Then If IsNumeric(Left(c.Value, 1)) Then a = Split(c.Value, ";") For i = LBound(a) To UBound(a) temp = temp + Val(a(i)) nb = nb + 1 Next i End If End If MoyenneChamp = temp / nb Next c End Function
JB http://boisgontierjacques.free.fr
On 11 oct, 20:25, "luck82" wrote:
Bonsoir; Après avoir retourné les fonctions Excel dans tous les sens; je n'arr ive pas à faire ce que je veux, c'est pourquoi je pense à une function avec la fonction split. En fin de post, mon classeur pour plus de compréhension.
Dans nom classeur, en colonne A des produit, colonne B des ref, colonne C des lots en colonne D les rendement par lots. Dans la colonne A il y a des plages nommées; une plages par type de pro duit. Dans la colonne D (rendement) il y a plusieurs valeurs de rendement dans une même cellule (les différentes valeur sont séparées par des " ; ") , parfois il y a aussi du texte ou bien rien.
Ce que je voudrais faire en colonne F c'est la moyenne des rendements par produit. J'arrive grâce à VBA à extraire avec la fonction SPLIT les valeurs (colonne D) dans d'autre cellules (a condition que le nombre des valeurs soit fixe (2 valeurs par exemple) mais bon pas très pratique quand même... .
Je pense donc à une petite "Private function exctration()" qui fait: Cible la/les plages nommées en colonne A Se décale en colonne D Extrait l'enssemble des valeurs de la plage grâce à une fonction spli t. Stocke ses valeurs dans des variables Si la cellules contient du texte ou rien alors ne rien stocker Me renvois la moyenne. Passe à la plage nommée suivante.
Je connais encore très peu le VBA et encore moins les functions. Si ma démarche est la bonne, quelqu'un peut il ne donner un petit coup de main. Je ne sais pas comment (dans ce cas) atteindre une plage nommée. Stocker les valeurs extraites dans un nombre de variable fonction du nomb re de valeurs extraites. Ici mon classeur: http://cjoint.com/?klupAq2vtn
Merci par avance de votre aide
Bonne soirée.
Bonsoir,
http://cjoint.com/?klvuoJVjqr
Function MoyenneChamp(champ As Range) As Double
Dim temp As Double, nb As Integer
temp = 0
nb = 0
For Each c In champ
If c <> Empty Then
If IsNumeric(Left(c.Value, 1)) Then
a = Split(c.Value, ";")
For i = LBound(a) To UBound(a)
temp = temp + Val(a(i))
nb = nb + 1
Next i
End If
End If
MoyenneChamp = temp / nb
Next c
End Function
JB
http://boisgontierjacques.free.fr
On 11 oct, 20:25, "luck82" <tempo-l...@voila.fr> wrote:
Bonsoir;
Après avoir retourné les fonctions Excel dans tous les sens; je n'arr ive pas
à faire ce que je veux, c'est pourquoi je pense à une function avec la
fonction split.
En fin de post, mon classeur pour plus de compréhension.
Dans nom classeur, en colonne A des produit, colonne B des ref, colonne C
des lots en colonne D les rendement par lots.
Dans la colonne A il y a des plages nommées; une plages par type de pro duit.
Dans la colonne D (rendement) il y a plusieurs valeurs de rendement dans une
même cellule (les différentes valeur sont séparées par des " ; ") , parfois
il y a aussi du texte ou bien rien.
Ce que je voudrais faire en colonne F c'est la moyenne des rendements par
produit.
J'arrive grâce à VBA à extraire avec la fonction SPLIT les valeurs (colonne
D) dans d'autre cellules (a condition que le nombre des valeurs soit fixe (2
valeurs par exemple) mais bon pas très pratique quand même... .
Je pense donc à une petite "Private function exctration()" qui fait:
Cible la/les plages nommées en colonne A
Se décale en colonne D
Extrait l'enssemble des valeurs de la plage grâce à une fonction spli t.
Stocke ses valeurs dans des variables
Si la cellules contient du texte ou rien alors ne rien stocker
Me renvois la moyenne.
Passe à la plage nommée suivante.
Je connais encore très peu le VBA et encore moins les functions.
Si ma démarche est la bonne, quelqu'un peut il ne donner un petit coup de
main.
Je ne sais pas comment (dans ce cas) atteindre une plage nommée.
Stocker les valeurs extraites dans un nombre de variable fonction du nomb re
de valeurs extraites.
Ici mon classeur: http://cjoint.com/?klupAq2vtn
Function MoyenneChamp(champ As Range) As Double Dim temp As Double, nb As Integer temp = 0 nb = 0 For Each c In champ If c <> Empty Then If IsNumeric(Left(c.Value, 1)) Then a = Split(c.Value, ";") For i = LBound(a) To UBound(a) temp = temp + Val(a(i)) nb = nb + 1 Next i End If End If MoyenneChamp = temp / nb Next c End Function
JB http://boisgontierjacques.free.fr
On 11 oct, 20:25, "luck82" wrote:
Bonsoir; Après avoir retourné les fonctions Excel dans tous les sens; je n'arr ive pas à faire ce que je veux, c'est pourquoi je pense à une function avec la fonction split. En fin de post, mon classeur pour plus de compréhension.
Dans nom classeur, en colonne A des produit, colonne B des ref, colonne C des lots en colonne D les rendement par lots. Dans la colonne A il y a des plages nommées; une plages par type de pro duit. Dans la colonne D (rendement) il y a plusieurs valeurs de rendement dans une même cellule (les différentes valeur sont séparées par des " ; ") , parfois il y a aussi du texte ou bien rien.
Ce que je voudrais faire en colonne F c'est la moyenne des rendements par produit. J'arrive grâce à VBA à extraire avec la fonction SPLIT les valeurs (colonne D) dans d'autre cellules (a condition que le nombre des valeurs soit fixe (2 valeurs par exemple) mais bon pas très pratique quand même... .
Je pense donc à une petite "Private function exctration()" qui fait: Cible la/les plages nommées en colonne A Se décale en colonne D Extrait l'enssemble des valeurs de la plage grâce à une fonction spli t. Stocke ses valeurs dans des variables Si la cellules contient du texte ou rien alors ne rien stocker Me renvois la moyenne. Passe à la plage nommée suivante.
Je connais encore très peu le VBA et encore moins les functions. Si ma démarche est la bonne, quelqu'un peut il ne donner un petit coup de main. Je ne sais pas comment (dans ce cas) atteindre une plage nommée. Stocker les valeurs extraites dans un nombre de variable fonction du nomb re de valeurs extraites. Ici mon classeur: http://cjoint.com/?klupAq2vtn
Merci par avance de votre aide
Bonne soirée.
JB
http://cjoint.com/?klvC3bPA2T
JB
On 11 oct, 21:21, JB wrote:
Bonsoir,
http://cjoint.com/?klvuoJVjqr
Function MoyenneChamp(champ As Range) As Double Dim temp As Double, nb As Integer temp = 0 nb = 0 For Each c In champ If c <> Empty Then If IsNumeric(Left(c.Value, 1)) Then a = Split(c.Value, ";") For i = LBound(a) To UBound(a) temp = temp + Val(a(i)) nb = nb + 1 Next i End If End If MoyenneChamp = temp / nb Next c End Function
JBhttp://boisgontierjacques.free.fr
On 11 oct, 20:25, "luck82" wrote:
Bonsoir; Après avoir retourné les fonctions Excel dans tous les sens; je n'a rrive pas à faire ce que je veux, c'est pourquoi je pense à une function avec la fonction split. En fin de post, mon classeur pour plus de compréhension.
Dans nom classeur, en colonne A des produit, colonne B des ref, colonne C des lots en colonne D les rendement par lots. Dans la colonne A il y a des plages nommées; une plages par type de p roduit. Dans la colonne D (rendement) il y a plusieurs valeurs de rendement dan s une même cellule (les différentes valeur sont séparées par des " ; "), parfois il y a aussi du texte ou bien rien.
Ce que je voudrais faire en colonne F c'est la moyenne des rendements p ar produit. J'arrive grâce à VBA à extraire avec la fonction SPLIT les valeur s (colonne D) dans d'autre cellules (a condition que le nombre des valeurs soit fi xe (2 valeurs par exemple) mais bon pas très pratique quand même... .
Je pense donc à une petite "Private function exctration()" qui fait: Cible la/les plages nommées en colonne A Se décale en colonne D Extrait l'enssemble des valeurs de la plage grâce à une fonction sp lit. Stocke ses valeurs dans des variables Si la cellules contient du texte ou rien alors ne rien stocker Me renvois la moyenne. Passe à la plage nommée suivante.
Je connais encore très peu le VBA et encore moins les functions. Si ma démarche est la bonne, quelqu'un peut il ne donner un petit cou p de main. Je ne sais pas comment (dans ce cas) atteindre une plage nommée. Stocker les valeurs extraites dans un nombre de variable fonction du no mbre de valeurs extraites. Ici mon classeur: http://cjoint.com/?klupAq2vtn
Merci par avance de votre aide
Bonne soirée.- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
http://cjoint.com/?klvC3bPA2T
JB
On 11 oct, 21:21, JB <boisgont...@hotmail.com> wrote:
Bonsoir,
http://cjoint.com/?klvuoJVjqr
Function MoyenneChamp(champ As Range) As Double
Dim temp As Double, nb As Integer
temp = 0
nb = 0
For Each c In champ
If c <> Empty Then
If IsNumeric(Left(c.Value, 1)) Then
a = Split(c.Value, ";")
For i = LBound(a) To UBound(a)
temp = temp + Val(a(i))
nb = nb + 1
Next i
End If
End If
MoyenneChamp = temp / nb
Next c
End Function
JBhttp://boisgontierjacques.free.fr
On 11 oct, 20:25, "luck82" <tempo-l...@voila.fr> wrote:
Bonsoir;
Après avoir retourné les fonctions Excel dans tous les sens; je n'a rrive pas
à faire ce que je veux, c'est pourquoi je pense à une function avec la
fonction split.
En fin de post, mon classeur pour plus de compréhension.
Dans nom classeur, en colonne A des produit, colonne B des ref, colonne C
des lots en colonne D les rendement par lots.
Dans la colonne A il y a des plages nommées; une plages par type de p roduit.
Dans la colonne D (rendement) il y a plusieurs valeurs de rendement dan s une
même cellule (les différentes valeur sont séparées par des " ; "), parfois
il y a aussi du texte ou bien rien.
Ce que je voudrais faire en colonne F c'est la moyenne des rendements p ar
produit.
J'arrive grâce à VBA à extraire avec la fonction SPLIT les valeur s (colonne
D) dans d'autre cellules (a condition que le nombre des valeurs soit fi xe (2
valeurs par exemple) mais bon pas très pratique quand même... .
Je pense donc à une petite "Private function exctration()" qui fait:
Cible la/les plages nommées en colonne A
Se décale en colonne D
Extrait l'enssemble des valeurs de la plage grâce à une fonction sp lit.
Stocke ses valeurs dans des variables
Si la cellules contient du texte ou rien alors ne rien stocker
Me renvois la moyenne.
Passe à la plage nommée suivante.
Je connais encore très peu le VBA et encore moins les functions.
Si ma démarche est la bonne, quelqu'un peut il ne donner un petit cou p de
main.
Je ne sais pas comment (dans ce cas) atteindre une plage nommée.
Stocker les valeurs extraites dans un nombre de variable fonction du no mbre
de valeurs extraites.
Ici mon classeur: http://cjoint.com/?klupAq2vtn
Merci par avance de votre aide
Bonne soirée.- Masquer le texte des messages précédents -
Function MoyenneChamp(champ As Range) As Double Dim temp As Double, nb As Integer temp = 0 nb = 0 For Each c In champ If c <> Empty Then If IsNumeric(Left(c.Value, 1)) Then a = Split(c.Value, ";") For i = LBound(a) To UBound(a) temp = temp + Val(a(i)) nb = nb + 1 Next i End If End If MoyenneChamp = temp / nb Next c End Function
JBhttp://boisgontierjacques.free.fr
On 11 oct, 20:25, "luck82" wrote:
Bonsoir; Après avoir retourné les fonctions Excel dans tous les sens; je n'a rrive pas à faire ce que je veux, c'est pourquoi je pense à une function avec la fonction split. En fin de post, mon classeur pour plus de compréhension.
Dans nom classeur, en colonne A des produit, colonne B des ref, colonne C des lots en colonne D les rendement par lots. Dans la colonne A il y a des plages nommées; une plages par type de p roduit. Dans la colonne D (rendement) il y a plusieurs valeurs de rendement dan s une même cellule (les différentes valeur sont séparées par des " ; "), parfois il y a aussi du texte ou bien rien.
Ce que je voudrais faire en colonne F c'est la moyenne des rendements p ar produit. J'arrive grâce à VBA à extraire avec la fonction SPLIT les valeur s (colonne D) dans d'autre cellules (a condition que le nombre des valeurs soit fi xe (2 valeurs par exemple) mais bon pas très pratique quand même... .
Je pense donc à une petite "Private function exctration()" qui fait: Cible la/les plages nommées en colonne A Se décale en colonne D Extrait l'enssemble des valeurs de la plage grâce à une fonction sp lit. Stocke ses valeurs dans des variables Si la cellules contient du texte ou rien alors ne rien stocker Me renvois la moyenne. Passe à la plage nommée suivante.
Je connais encore très peu le VBA et encore moins les functions. Si ma démarche est la bonne, quelqu'un peut il ne donner un petit cou p de main. Je ne sais pas comment (dans ce cas) atteindre une plage nommée. Stocker les valeurs extraites dans un nombre de variable fonction du no mbre de valeurs extraites. Ici mon classeur: http://cjoint.com/?klupAq2vtn
Merci par avance de votre aide
Bonne soirée.- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
luck82
Merci beaucoup, je vais tester ça aujourd'hui.
Bonne journée
"JB" a écrit dans le message de news:
http://cjoint.com/?klvC3bPA2T
JB
On 11 oct, 21:21, JB wrote:
Bonsoir,
http://cjoint.com/?klvuoJVjqr
Function MoyenneChamp(champ As Range) As Double Dim temp As Double, nb As Integer temp = 0 nb = 0 For Each c In champ If c <> Empty Then If IsNumeric(Left(c.Value, 1)) Then a = Split(c.Value, ";") For i = LBound(a) To UBound(a) temp = temp + Val(a(i)) nb = nb + 1 Next i End If End If MoyenneChamp = temp / nb Next c End Function
JBhttp://boisgontierjacques.free.fr
On 11 oct, 20:25, "luck82" wrote:
Bonsoir; Après avoir retourné les fonctions Excel dans tous les sens; je n'arrive pas
à faire ce que je veux, c'est pourquoi je pense à une function avec la fonction split. En fin de post, mon classeur pour plus de compréhension.
Dans nom classeur, en colonne A des produit, colonne B des ref, colonne C
des lots en colonne D les rendement par lots. Dans la colonne A il y a des plages nommées; une plages par type de produit.
Dans la colonne D (rendement) il y a plusieurs valeurs de rendement dans une
même cellule (les différentes valeur sont séparées par des " ; "), parfois
il y a aussi du texte ou bien rien.
Ce que je voudrais faire en colonne F c'est la moyenne des rendements par
produit. J'arrive grâce à VBA à extraire avec la fonction SPLIT les valeurs (colonne
D) dans d'autre cellules (a condition que le nombre des valeurs soit fixe (2
valeurs par exemple) mais bon pas très pratique quand même... .
Je pense donc à une petite "Private function exctration()" qui fait: Cible la/les plages nommées en colonne A Se décale en colonne D Extrait l'enssemble des valeurs de la plage grâce à une fonction split. Stocke ses valeurs dans des variables Si la cellules contient du texte ou rien alors ne rien stocker Me renvois la moyenne. Passe à la plage nommée suivante.
Je connais encore très peu le VBA et encore moins les functions. Si ma démarche est la bonne, quelqu'un peut il ne donner un petit coup de
main. Je ne sais pas comment (dans ce cas) atteindre une plage nommée. Stocker les valeurs extraites dans un nombre de variable fonction du nombre
de valeurs extraites. Ici mon classeur: http://cjoint.com/?klupAq2vtn
Merci par avance de votre aide
Bonne soirée.- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Merci beaucoup, je vais tester ça aujourd'hui.
Bonne journée
"JB" <boisgontier@hotmail.com> a écrit dans le message de
news:1192130957.612266.92090@50g2000hsm.googlegroups.com...
http://cjoint.com/?klvC3bPA2T
JB
On 11 oct, 21:21, JB <boisgont...@hotmail.com> wrote:
Bonsoir,
http://cjoint.com/?klvuoJVjqr
Function MoyenneChamp(champ As Range) As Double
Dim temp As Double, nb As Integer
temp = 0
nb = 0
For Each c In champ
If c <> Empty Then
If IsNumeric(Left(c.Value, 1)) Then
a = Split(c.Value, ";")
For i = LBound(a) To UBound(a)
temp = temp + Val(a(i))
nb = nb + 1
Next i
End If
End If
MoyenneChamp = temp / nb
Next c
End Function
JBhttp://boisgontierjacques.free.fr
On 11 oct, 20:25, "luck82" <tempo-l...@voila.fr> wrote:
Bonsoir;
Après avoir retourné les fonctions Excel dans tous les sens; je n'arrive
pas
à faire ce que je veux, c'est pourquoi je pense à une function avec la
fonction split.
En fin de post, mon classeur pour plus de compréhension.
Dans nom classeur, en colonne A des produit, colonne B des ref, colonne
C
des lots en colonne D les rendement par lots.
Dans la colonne A il y a des plages nommées; une plages par type de
produit.
Dans la colonne D (rendement) il y a plusieurs valeurs de rendement dans
une
même cellule (les différentes valeur sont séparées par des " ; "),
parfois
il y a aussi du texte ou bien rien.
Ce que je voudrais faire en colonne F c'est la moyenne des rendements
par
produit.
J'arrive grâce à VBA à extraire avec la fonction SPLIT les valeurs
(colonne
D) dans d'autre cellules (a condition que le nombre des valeurs soit
fixe (2
valeurs par exemple) mais bon pas très pratique quand même... .
Je pense donc à une petite "Private function exctration()" qui fait:
Cible la/les plages nommées en colonne A
Se décale en colonne D
Extrait l'enssemble des valeurs de la plage grâce à une fonction split.
Stocke ses valeurs dans des variables
Si la cellules contient du texte ou rien alors ne rien stocker
Me renvois la moyenne.
Passe à la plage nommée suivante.
Je connais encore très peu le VBA et encore moins les functions.
Si ma démarche est la bonne, quelqu'un peut il ne donner un petit coup
de
main.
Je ne sais pas comment (dans ce cas) atteindre une plage nommée.
Stocker les valeurs extraites dans un nombre de variable fonction du
nombre
de valeurs extraites.
Ici mon classeur: http://cjoint.com/?klupAq2vtn
Merci par avance de votre aide
Bonne soirée.- Masquer le texte des messages précédents -
Function MoyenneChamp(champ As Range) As Double Dim temp As Double, nb As Integer temp = 0 nb = 0 For Each c In champ If c <> Empty Then If IsNumeric(Left(c.Value, 1)) Then a = Split(c.Value, ";") For i = LBound(a) To UBound(a) temp = temp + Val(a(i)) nb = nb + 1 Next i End If End If MoyenneChamp = temp / nb Next c End Function
JBhttp://boisgontierjacques.free.fr
On 11 oct, 20:25, "luck82" wrote:
Bonsoir; Après avoir retourné les fonctions Excel dans tous les sens; je n'arrive pas
à faire ce que je veux, c'est pourquoi je pense à une function avec la fonction split. En fin de post, mon classeur pour plus de compréhension.
Dans nom classeur, en colonne A des produit, colonne B des ref, colonne C
des lots en colonne D les rendement par lots. Dans la colonne A il y a des plages nommées; une plages par type de produit.
Dans la colonne D (rendement) il y a plusieurs valeurs de rendement dans une
même cellule (les différentes valeur sont séparées par des " ; "), parfois
il y a aussi du texte ou bien rien.
Ce que je voudrais faire en colonne F c'est la moyenne des rendements par
produit. J'arrive grâce à VBA à extraire avec la fonction SPLIT les valeurs (colonne
D) dans d'autre cellules (a condition que le nombre des valeurs soit fixe (2
valeurs par exemple) mais bon pas très pratique quand même... .
Je pense donc à une petite "Private function exctration()" qui fait: Cible la/les plages nommées en colonne A Se décale en colonne D Extrait l'enssemble des valeurs de la plage grâce à une fonction split. Stocke ses valeurs dans des variables Si la cellules contient du texte ou rien alors ne rien stocker Me renvois la moyenne. Passe à la plage nommée suivante.
Je connais encore très peu le VBA et encore moins les functions. Si ma démarche est la bonne, quelqu'un peut il ne donner un petit coup de
main. Je ne sais pas comment (dans ce cas) atteindre une plage nommée. Stocker les valeurs extraites dans un nombre de variable fonction du nombre
de valeurs extraites. Ici mon classeur: http://cjoint.com/?klupAq2vtn
Merci par avance de votre aide
Bonne soirée.- Masquer le texte des messages précédents -