• Initiateur de la discussion Initiateur de la discussion TORTANK64
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

T

TORTANK64

Guest
Bonjour, je galère sur une formule index Equiv
J'ai un tableau de nombre de clients en ligne, la ligne en dessous correspond à des mois.
Je souhaite pouvoir renvoyer dans une feuille différente, le mois correspondant lorsque mon nombre de clients dépasse 60.
Voici la formule utilisée

INDEX('CA prévisionnel'!$B$79:$M$83;6;EQUIV(60;'CA prévisionnel'!$B$83:$M$83;1))

Sachant que la ligne 6 correspond bien à la ligne des mois dans mon tableau (ligne 83)

Merci de votre aide
 
Re : Index Equiv

Bonjour,

Pas très précise vos explications, un petit fichier avec quelques donnés faciliterait énorment la compréhention.
Néanmoins un essai avec ceci :
=INDEX('CA prévisionnel'!(ligne des mois);EQUIV(60;'CA prévisionnel'!(ligne du nombres de clients);0))
Par contre cela ne fonctionnera pas s'il y a plusieurs fois 60.
 
Dernière édition:
Re : Index Equiv

Bonjour,

Je joins un fichier d'exemple avec un onglet CA et un onglet salaire.
Je souhaiterais pouvoir associer le nombre de mois de présence dans la case jaune de l'onglet salaire, des que le nombre de clients dépasse 60 en 2012.

Puis refaire le même système tous les 30 clients pour les années suivantes.

J'espère avoir été plus clair.

merci de votre aide
 

Pièces jointes

Re : Index Equiv

RE

Si bien compris :
en 2012 = aucun mois >= 60 clients
en 2013 = 10 mois >= 60 clients (quel mois doit figurer dans la cellule jaune?)

Par contre pourquoi est ce que les mois vont en décroissant sur l'année : dec - nov - oct - etc.... ?

Dans votre fichier mettre les réponses manuellement ce qui facilitera la compréhention.

Cordialement
 
Re : Index Equiv

Voilà vous avez bien compris,
le chiffre de 60 est un seuil, le nombre de mois qui doit figurer dans la cellule jaune est le nombre de mois restants, ce qui explique que les mois sont décroissants.

Cordialement
 
Re : Index Equiv

Oui l'idée est là, mais j'aimerais pouvoir le réaliser pour les valeurs supérieurs au seuil et non pour les valeurs égales.

Par exemple si mon seuil est de 120, j'aimerais que l'on me renvoie 1, qui correspond au mois ou le nombre de client sera supérieur à 120 ( par exemple 124 ici)
 
Re : Index Equiv

Re

C'est comme la fonction RECHERCHEH qui si elle trouve la valeur exacte elle renvoi la bonne donnée, ou si elle ne trouve pas cette valeur, elle renvoi la donnée juste inférieure.
Pour votre cas il faudrait faire une formule (VBA) du même style que RECHERCHEH mais qui trouverait la valeur supérieure. Là ce n'est plus dans mes cordes.

Autrement il faut classer vos tableaux en sens inverse, c'est à dire par ordre décroissant et cela fonctionnera avec RECHERCHEH

Cordialement
 
Re : Index Equiv

Re

Après recherche j'ai trouvé une fonction (auteur RaMa) qui répond à cette recherche.

Mode d'emploi :
FONCTION PROCHE
BUT: recherche d 'une valeur dans un tableau selon le niveau de proximité souhaité . Le résultat est la valeur trouvée ou son adresse.
SYNTAXE =PROCHE(VAL;CHAMP;PROXIMITE;MODE)
VAL: Valeur recherchée
CHAMP: Tableau des valeurs qui seront comparées VAL
Le champ peut être:
-une constante de type adresse;
-une cellule pointant vers une autre cellule contenant une adresse "constante" de type adresse,
-une formule ou une indirection donnant une adresse,
-un champ nomm .
PROXIMITE: nature du résultat attendu peut prendre les valeurs suivantes:
-1 Inférieur immédiat
1 Supérieur immédiat
2 écart le plus faible
3 écart le plus faible mais # valeur
4 alpha> 5 alpha< 0 égalité stricte
MODE: 0 c'est la valeur trouvée qui est retournée. Si ce paramètre est omis 0 est implicite.
MODE:1 ou toutes autres valeurs: c'est l'adresse de la valeur trouvée qui est retournée.

Code à mettre dans un module :
Option Explicit
Public Function PROCHE(VAL, ch, prox, Optional adr As Variant) As Variant
Dim z, w_col As Variant
Dim loc As Variant
Dim yaloc As Integer
Dim y As Variant
Dim ecart As Variant
Dim tval As Variant
Dim tch As Range
Dim zz As Variant
Application.Volatile
z = Null
loc = Null
If IsMissing(adr) Then
yaloc = 0
Else
If (IsNumeric(adr) And adr > 0) Or (Not IsNumeric(adr) And adr > "0") Then
yaloc = 1
Else
yaloc = 0
End If
End If
tval = VAL
On Error GoTo c_range
Set tch = Range(ch)
GoTo swit
c_range:
Set tch = ch
On Error GoTo 0
swit:
Select Case prox
Case 1
For Each y In tch
If y > tval And (y <= z Or IsNull(z)) Then
loc = y.Address
z = y
End If
Next
Case 0 'égalité stricte
For Each y In tch
If StrConv(y, 1) Like StrConv(tval, 1) = True Then
If IsNull(loc) Then
loc = y.Address
z = StrConv(y, 1)
w_col = y.Column
Else
If y.Column < w_col Then 'c'est l'adresse de la colonne la
plus à gauche
loc = y.Address 'qui est retournée
z = StrConv(y, 1)
End If
End If
End If
Next
Case -1 'inférieur immédiat
For Each y In tch
If y < tval And (y >= z Or IsNull(z)) Then
loc = y.Address
z = y
End If
Next
Case 4 'supérieur ou égal (chaîne)
For Each y In tch
If StrConv(y, 1) >= StrConv(tval, 1) And (StrConv(y, 1) <= z Or
IsNull(z)) Then
loc = y.Address
z = StrConv(y, 1)
End If
Next
Case 5 'inférieur ou égal (chaîne)
For Each y In tch
If StrConv(y, 1) <= StrConv(tval, 1) And (StrConv(y, 1) >= z Or
IsNull(z)) Then
loc = y.Address
z = StrConv(y, 1)
End If
Next
Case 2 'écart le plus faible
zz = Null
For Each y In tch
If IsNumeric(y) Then
ecart = Abs(y - tval)
If ecart < zz Or IsNull(zz) Then
zz = ecart
loc = y.Address
z = y
End If
End If
Next
Case 3 'écart le plus faible # valeur
zz = Null
For Each y In tch
If IsNumeric(y) Then
ecart = Abs(y - tval)
If y <> tval And (ecart < zz Or IsNull(zz)) Then
zz = ecart
loc = y.Address
z = y
End If
End If
Next
End Select
If yaloc = 1 Then
If IsNumeric(loc) Or IsNull(loc) Or loc = "0" Then
PROCHE = CVErr(xlErrNA)
Else
PROCHE = loc
End If
Else
If IsNumeric(loc) Or IsNull(loc) Or loc = "0" Then
PROCHE = CVErr(xlErrNA)
Else
PROCHE = z
End If
End If
End Function



 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 Fonction si
Réponses
7
Affichages
217
Retour