Bonjour,
J'ai plusieurs feuilles de calculs qui contiennent des prix de
fournisseurs pour des articles. Les feuilles sont construites sur le
même modèle. Comment connaître le fournisseur le mieux disant ? Je
pense faire par "consolidation" mini, j'aurai la valeur la plus faible
mais comment savoir automatiquement à quel fournisseur elle correspond
? Est-ce possible par une mise en forme conditionnelle ?
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
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
FxM
Bonjour, J'ai plusieurs feuilles de calculs qui contiennent des prix de fournisseurs pour des articles. Les feuilles sont construites sur le même modèle. Comment connaître le fournisseur le mieux disant ? Je pense faire par "consolidation" mini, j'aurai la valeur la plus faible mais comment savoir automatiquement à quel fournisseur elle correspond ? Est-ce possible par une mise en forme conditionnelle ?
Bonjour,
A défaut de plus de détails, voici les suppositions faites :
J'ai plusieurs feuilles de calculs qui contiennent des prix de fournisseurs pour des articles - Les feuilles sont dans le même classeur, et chacune porte le nom du
fournisseur.
Les feuilles sont construites sur le même modèle. Heureusement !
Comment connaître le fournisseur le mieux disant ? Je pense faire par "consolidation" mini, j'aurai la valeur la plus faible mais comment savoir automatiquement à quel fournisseur elle correspond ? Je ne m'étendrai pas sur le fait que le MIEUX disant n'est pas forcément
le MOINS disant. La fonction considère le plus faible chiffre (beurk)
Est-ce possible par une mise en forme conditionnelle ? Autant le dire tout de suite : NON.
Insertion | module, y copier ce qui suit (entre les '=========) '===== Debut de code fonction ==== 'quimini(inp) retourne la plus faible valeur contenu dans les cellules 'inp de chacune des feuilles autres que la feuille appelante Public Function quimini(inp) Application.Volatile True With Application.Caller 'nom de la feuille appelante sauf = .Worksheet.Name 'récupération de la formule utilisée zz = .FormulaArray 'découpage pour trouver la cellule ouv = InStr(1, zz, "(") fer = InStr(ouv, zz, ")") rg = Mid(zz, ouv + 1, fer - ouv - 1) End With 'créer un tableau Dim tablo(): ReDim tablo(0, 1) tablo(0, 0) = 9E+99 'parcourir chacune des feuilles For Each sht In Worksheets shn = sht.Name 'oublier celle qui appelle If shn <> sauf Then 'si la ceulle cherchée n'est pas vide If IsEmpty(sht.Range(rg)) Then Else 'si le contenu est inférieur au connu If sht.Range(rg).Value < tablo(0, 0) Then 'valeur tablo(0, 0) = sht.Range(rg).Value 'nom de feuille tablo(0, 1) = shn End If End If End If Next sht 'retourner le résultat quimini = tablo 'transposer selon la forme de la séclection If Application.Caller.Rows.Count > 1 Then _ quimini = Application.Transpose(quimini) End Function '===== Fin de code fonction ==== Usage : Ajouter une feuille dans le classeur en plus des feuilles de données. La nommer comme tu veux.
Sélectionner DEUX cellules contigües, entrer la formule =quimini(C4) et valider en matriciel (ctrl-maj-enter). La première cellule contient la valeur minimale des feuilles (feuille autre que la feuille appelante et cellules non vides, ici la cellule cherchée est C4), la seconde cellule indique le nom de la feuille où se situe la valeur mini.
Ceci ne fonctionnera pas sur : - des classeurs séparés, - des feuilles de structure différentes, - des cellules contenant du texte, - en cas de validation normale, - ...
@+ FxM
Bonjour,
J'ai plusieurs feuilles de calculs qui contiennent des prix de
fournisseurs pour des articles. Les feuilles sont construites sur le
même modèle. Comment connaître le fournisseur le mieux disant ? Je pense
faire par "consolidation" mini, j'aurai la valeur la plus faible mais
comment savoir automatiquement à quel fournisseur elle correspond ?
Est-ce possible par une mise en forme conditionnelle ?
Bonjour,
A défaut de plus de détails, voici les suppositions faites :
J'ai plusieurs feuilles de calculs qui contiennent des prix de
fournisseurs pour des articles
- Les feuilles sont dans le même classeur, et chacune porte le nom du
fournisseur.
Les feuilles sont construites sur le même modèle.
Heureusement !
Comment connaître le fournisseur le mieux disant ? Je pense
faire par "consolidation" mini, j'aurai la valeur la plus faible mais
comment savoir automatiquement à quel fournisseur elle correspond ?
Je ne m'étendrai pas sur le fait que le MIEUX disant n'est pas forcément
le MOINS disant. La fonction considère le plus faible chiffre (beurk)
Est-ce possible par une mise en forme conditionnelle ?
Autant le dire tout de suite : NON.
Insertion | module, y copier ce qui suit (entre les '=========)
'===== Debut de code fonction ==== 'quimini(inp) retourne la plus faible valeur contenu dans les cellules
'inp de chacune des feuilles autres que la feuille appelante
Public Function quimini(inp)
Application.Volatile True
With Application.Caller
'nom de la feuille appelante
sauf = .Worksheet.Name
'récupération de la formule utilisée
zz = .FormulaArray
'découpage pour trouver la cellule
ouv = InStr(1, zz, "(")
fer = InStr(ouv, zz, ")")
rg = Mid(zz, ouv + 1, fer - ouv - 1)
End With
'créer un tableau
Dim tablo(): ReDim tablo(0, 1)
tablo(0, 0) = 9E+99
'parcourir chacune des feuilles
For Each sht In Worksheets
shn = sht.Name
'oublier celle qui appelle
If shn <> sauf Then
'si la ceulle cherchée n'est pas vide
If IsEmpty(sht.Range(rg)) Then
Else
'si le contenu est inférieur au connu
If sht.Range(rg).Value < tablo(0, 0) Then
'valeur
tablo(0, 0) = sht.Range(rg).Value
'nom de feuille
tablo(0, 1) = shn
End If
End If
End If
Next sht
'retourner le résultat
quimini = tablo
'transposer selon la forme de la séclection
If Application.Caller.Rows.Count > 1 Then _
quimini = Application.Transpose(quimini)
End Function
'===== Fin de code fonction ====
Usage :
Ajouter une feuille dans le classeur en plus des feuilles de données.
La nommer comme tu veux.
Sélectionner DEUX cellules contigües, entrer la formule =quimini(C4) et
valider en matriciel (ctrl-maj-enter). La première cellule contient la
valeur minimale des feuilles (feuille autre que la feuille appelante et
cellules non vides, ici la cellule cherchée est C4), la seconde cellule
indique le nom de la feuille où se situe la valeur mini.
Ceci ne fonctionnera pas sur :
- des classeurs séparés,
- des feuilles de structure différentes,
- des cellules contenant du texte,
- en cas de validation normale,
- ...
Bonjour, J'ai plusieurs feuilles de calculs qui contiennent des prix de fournisseurs pour des articles. Les feuilles sont construites sur le même modèle. Comment connaître le fournisseur le mieux disant ? Je pense faire par "consolidation" mini, j'aurai la valeur la plus faible mais comment savoir automatiquement à quel fournisseur elle correspond ? Est-ce possible par une mise en forme conditionnelle ?
Bonjour,
A défaut de plus de détails, voici les suppositions faites :
J'ai plusieurs feuilles de calculs qui contiennent des prix de fournisseurs pour des articles - Les feuilles sont dans le même classeur, et chacune porte le nom du
fournisseur.
Les feuilles sont construites sur le même modèle. Heureusement !
Comment connaître le fournisseur le mieux disant ? Je pense faire par "consolidation" mini, j'aurai la valeur la plus faible mais comment savoir automatiquement à quel fournisseur elle correspond ? Je ne m'étendrai pas sur le fait que le MIEUX disant n'est pas forcément
le MOINS disant. La fonction considère le plus faible chiffre (beurk)
Est-ce possible par une mise en forme conditionnelle ? Autant le dire tout de suite : NON.
Insertion | module, y copier ce qui suit (entre les '=========) '===== Debut de code fonction ==== 'quimini(inp) retourne la plus faible valeur contenu dans les cellules 'inp de chacune des feuilles autres que la feuille appelante Public Function quimini(inp) Application.Volatile True With Application.Caller 'nom de la feuille appelante sauf = .Worksheet.Name 'récupération de la formule utilisée zz = .FormulaArray 'découpage pour trouver la cellule ouv = InStr(1, zz, "(") fer = InStr(ouv, zz, ")") rg = Mid(zz, ouv + 1, fer - ouv - 1) End With 'créer un tableau Dim tablo(): ReDim tablo(0, 1) tablo(0, 0) = 9E+99 'parcourir chacune des feuilles For Each sht In Worksheets shn = sht.Name 'oublier celle qui appelle If shn <> sauf Then 'si la ceulle cherchée n'est pas vide If IsEmpty(sht.Range(rg)) Then Else 'si le contenu est inférieur au connu If sht.Range(rg).Value < tablo(0, 0) Then 'valeur tablo(0, 0) = sht.Range(rg).Value 'nom de feuille tablo(0, 1) = shn End If End If End If Next sht 'retourner le résultat quimini = tablo 'transposer selon la forme de la séclection If Application.Caller.Rows.Count > 1 Then _ quimini = Application.Transpose(quimini) End Function '===== Fin de code fonction ==== Usage : Ajouter une feuille dans le classeur en plus des feuilles de données. La nommer comme tu veux.
Sélectionner DEUX cellules contigües, entrer la formule =quimini(C4) et valider en matriciel (ctrl-maj-enter). La première cellule contient la valeur minimale des feuilles (feuille autre que la feuille appelante et cellules non vides, ici la cellule cherchée est C4), la seconde cellule indique le nom de la feuille où se situe la valeur mini.
Ceci ne fonctionnera pas sur : - des classeurs séparés, - des feuilles de structure différentes, - des cellules contenant du texte, - en cas de validation normale, - ...
@+ FxM
jpgui
FxM a exprimé avec précision :
Bonjour, J'ai plusieurs feuilles de calculs qui contiennent des prix de fournisseurs pour des articles. Les feuilles sont construites sur le même modèle. Comment connaître le fournisseur le mieux disant ? Je pense faire par "consolidation" mini, j'aurai la valeur la plus faible mais comment savoir automatiquement à quel fournisseur elle correspond ? Est-ce possible par une mise en forme conditionnelle ?
Bonjour,
A défaut de plus de détails, voici les suppositions faites :
J'ai plusieurs feuilles de calculs qui contiennent des prix de fournisseurs pour des articles - Les feuilles sont dans le même classeur, et chacune porte le nom du
fournisseur.
Les feuilles sont construites sur le même modèle. Heureusement !
Comment connaître le fournisseur le mieux disant ? Je pense faire par "consolidation" mini, j'aurai la valeur la plus faible mais comment savoir automatiquement à quel fournisseur elle correspond ? Je ne m'étendrai pas sur le fait que le MIEUX disant n'est pas forcément le
MOINS disant. La fonction considère le plus faible chiffre (beurk)
Est-ce possible par une mise en forme conditionnelle ? Autant le dire tout de suite : NON.
Insertion | module, y copier ce qui suit (entre les '=========) '===== Debut de code fonction ==== > 'quimini(inp) retourne la plus faible valeur contenu dans les cellules 'inp de chacune des feuilles autres que la feuille appelante Public Function quimini(inp) Application.Volatile True With Application.Caller 'nom de la feuille appelante sauf = .Worksheet.Name 'récupération de la formule utilisée zz = .FormulaArray 'découpage pour trouver la cellule ouv = InStr(1, zz, "(") fer = InStr(ouv, zz, ")") rg = Mid(zz, ouv + 1, fer - ouv - 1) End With 'créer un tableau Dim tablo(): ReDim tablo(0, 1) tablo(0, 0) = 9E+99 'parcourir chacune des feuilles For Each sht In Worksheets shn = sht.Name 'oublier celle qui appelle If shn <> sauf Then 'si la ceulle cherchée n'est pas vide If IsEmpty(sht.Range(rg)) Then Else 'si le contenu est inférieur au connu If sht.Range(rg).Value < tablo(0, 0) Then 'valeur tablo(0, 0) = sht.Range(rg).Value 'nom de feuille tablo(0, 1) = shn End If End If End If Next sht 'retourner le résultat quimini = tablo 'transposer selon la forme de la séclection If Application.Caller.Rows.Count > 1 Then _ quimini = Application.Transpose(quimini) End Function '===== Fin de code fonction ==== > Usage : Ajouter une feuille dans le classeur en plus des feuilles de données. La nommer comme tu veux.
Sélectionner DEUX cellules contigües, entrer la formule =quimini(C4) et valider en matriciel (ctrl-maj-enter). La première cellule contient la valeur minimale des feuilles (feuille autre que la feuille appelante et cellules non vides, ici la cellule cherchée est C4), la seconde cellule indique le nom de la feuille où se situe la valeur mini.
Ceci ne fonctionnera pas sur : - des classeurs séparés, - des feuilles de structure différentes, - des cellules contenant du texte, - en cas de validation normale, - ...
@+ FxM
Merci beaucoup. Cà marche (Je suppose que cela ne te surprend pas. Effectivement la prochaine fois je dirai moins disant (Je t'ai trouvé un peu "médisant" ;=))) Merci encore
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com
FxM a exprimé avec précision :
Bonjour,
J'ai plusieurs feuilles de calculs qui contiennent des prix de fournisseurs
pour des articles. Les feuilles sont construites sur le même modèle.
Comment connaître le fournisseur le mieux disant ? Je pense faire par
"consolidation" mini, j'aurai la valeur la plus faible mais comment savoir
automatiquement à quel fournisseur elle correspond ? Est-ce possible par
une mise en forme conditionnelle ?
Bonjour,
A défaut de plus de détails, voici les suppositions faites :
J'ai plusieurs feuilles de calculs qui contiennent des prix de
fournisseurs pour des articles
- Les feuilles sont dans le même classeur, et chacune porte le nom du
fournisseur.
Les feuilles sont construites sur le même modèle.
Heureusement !
Comment connaître le fournisseur le mieux disant ? Je pense
faire par "consolidation" mini, j'aurai la valeur la plus faible mais
comment savoir automatiquement à quel fournisseur elle correspond ?
Je ne m'étendrai pas sur le fait que le MIEUX disant n'est pas forcément le
MOINS disant. La fonction considère le plus faible chiffre (beurk)
Est-ce possible par une mise en forme conditionnelle ?
Autant le dire tout de suite : NON.
Insertion | module, y copier ce qui suit (entre les '=========)
'===== Debut de code fonction ==== > 'quimini(inp) retourne la plus faible valeur contenu dans les cellules
'inp de chacune des feuilles autres que la feuille appelante
Public Function quimini(inp)
Application.Volatile True
With Application.Caller
'nom de la feuille appelante
sauf = .Worksheet.Name
'récupération de la formule utilisée
zz = .FormulaArray
'découpage pour trouver la cellule
ouv = InStr(1, zz, "(")
fer = InStr(ouv, zz, ")")
rg = Mid(zz, ouv + 1, fer - ouv - 1)
End With
'créer un tableau
Dim tablo(): ReDim tablo(0, 1)
tablo(0, 0) = 9E+99
'parcourir chacune des feuilles
For Each sht In Worksheets
shn = sht.Name
'oublier celle qui appelle
If shn <> sauf Then
'si la ceulle cherchée n'est pas vide
If IsEmpty(sht.Range(rg)) Then
Else
'si le contenu est inférieur au connu
If sht.Range(rg).Value < tablo(0, 0) Then
'valeur
tablo(0, 0) = sht.Range(rg).Value
'nom de feuille
tablo(0, 1) = shn
End If
End If
End If
Next sht
'retourner le résultat
quimini = tablo
'transposer selon la forme de la séclection
If Application.Caller.Rows.Count > 1 Then _
quimini = Application.Transpose(quimini)
End Function
'===== Fin de code fonction ==== >
Usage :
Ajouter une feuille dans le classeur en plus des feuilles de données.
La nommer comme tu veux.
Sélectionner DEUX cellules contigües, entrer la formule =quimini(C4) et
valider en matriciel (ctrl-maj-enter). La première cellule contient la valeur
minimale des feuilles (feuille autre que la feuille appelante et cellules non
vides, ici la cellule cherchée est C4), la seconde cellule indique le nom de
la feuille où se situe la valeur mini.
Ceci ne fonctionnera pas sur :
- des classeurs séparés,
- des feuilles de structure différentes,
- des cellules contenant du texte,
- en cas de validation normale,
- ...
@+
FxM
Merci beaucoup. Cà marche (Je suppose que cela ne te surprend pas.
Effectivement la prochaine fois je dirai moins disant (Je t'ai trouvé
un peu "médisant" ;=)))
Merci encore
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
Bonjour, J'ai plusieurs feuilles de calculs qui contiennent des prix de fournisseurs pour des articles. Les feuilles sont construites sur le même modèle. Comment connaître le fournisseur le mieux disant ? Je pense faire par "consolidation" mini, j'aurai la valeur la plus faible mais comment savoir automatiquement à quel fournisseur elle correspond ? Est-ce possible par une mise en forme conditionnelle ?
Bonjour,
A défaut de plus de détails, voici les suppositions faites :
J'ai plusieurs feuilles de calculs qui contiennent des prix de fournisseurs pour des articles - Les feuilles sont dans le même classeur, et chacune porte le nom du
fournisseur.
Les feuilles sont construites sur le même modèle. Heureusement !
Comment connaître le fournisseur le mieux disant ? Je pense faire par "consolidation" mini, j'aurai la valeur la plus faible mais comment savoir automatiquement à quel fournisseur elle correspond ? Je ne m'étendrai pas sur le fait que le MIEUX disant n'est pas forcément le
MOINS disant. La fonction considère le plus faible chiffre (beurk)
Est-ce possible par une mise en forme conditionnelle ? Autant le dire tout de suite : NON.
Insertion | module, y copier ce qui suit (entre les '=========) '===== Debut de code fonction ==== > 'quimini(inp) retourne la plus faible valeur contenu dans les cellules 'inp de chacune des feuilles autres que la feuille appelante Public Function quimini(inp) Application.Volatile True With Application.Caller 'nom de la feuille appelante sauf = .Worksheet.Name 'récupération de la formule utilisée zz = .FormulaArray 'découpage pour trouver la cellule ouv = InStr(1, zz, "(") fer = InStr(ouv, zz, ")") rg = Mid(zz, ouv + 1, fer - ouv - 1) End With 'créer un tableau Dim tablo(): ReDim tablo(0, 1) tablo(0, 0) = 9E+99 'parcourir chacune des feuilles For Each sht In Worksheets shn = sht.Name 'oublier celle qui appelle If shn <> sauf Then 'si la ceulle cherchée n'est pas vide If IsEmpty(sht.Range(rg)) Then Else 'si le contenu est inférieur au connu If sht.Range(rg).Value < tablo(0, 0) Then 'valeur tablo(0, 0) = sht.Range(rg).Value 'nom de feuille tablo(0, 1) = shn End If End If End If Next sht 'retourner le résultat quimini = tablo 'transposer selon la forme de la séclection If Application.Caller.Rows.Count > 1 Then _ quimini = Application.Transpose(quimini) End Function '===== Fin de code fonction ==== > Usage : Ajouter une feuille dans le classeur en plus des feuilles de données. La nommer comme tu veux.
Sélectionner DEUX cellules contigües, entrer la formule =quimini(C4) et valider en matriciel (ctrl-maj-enter). La première cellule contient la valeur minimale des feuilles (feuille autre que la feuille appelante et cellules non vides, ici la cellule cherchée est C4), la seconde cellule indique le nom de la feuille où se situe la valeur mini.
Ceci ne fonctionnera pas sur : - des classeurs séparés, - des feuilles de structure différentes, - des cellules contenant du texte, - en cas de validation normale, - ...
@+ FxM
Merci beaucoup. Cà marche (Je suppose que cela ne te surprend pas. Effectivement la prochaine fois je dirai moins disant (Je t'ai trouvé un peu "médisant" ;=))) Merci encore
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com
Clément Marcotte
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com
Tu pourrais pas dire à ton Mesnews d'enlever son $%?&*()(*!"/$%?&*() de spam automatique déguisé en signature.
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
Tu pourrais pas dire à ton Mesnews d'enlever son $%?&*()(*!"/$%?&*()
de spam automatique déguisé en signature.