A voir également:
- Spécifier le nom d'un feuillet
- Nom de l'adresse - Forum Réseaux sociaux
- Le nom du champ de tableau croisé dynamique n'est pas valide ✓ - Forum Excel
- Trouver un nom avec une adresse ✓ - Forum Réseaux sociaux
- Comment trouver le nom de famille de quelqu'un - Forum Mobile
- Annuaire portable gratuit a partir d'un nom - Forum Réseaux sociaux
3 réponses
via55
Messages postés
14506
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
27 décembre 2024
2 738
28 oct. 2013 à 15:08
28 oct. 2013 à 15:08
Bonjour
oui c'est possible il faut utiliser la fonction INDIRECT et le n° de la ligne pour reformer une référence valide
Supposons qu'en ligne 4 tu veuille accéder à la feuille 1, puis en ligne 5 à la feuille 2 etc
en ligne 4 la formule =INDIRECT(ligne()-3 & "!A1") renverra le contenu de la cellule A1 de la feuille 1 (4 - 3 =1)
étirée en ligne 5 elle renverra le contenu A1 de la feuille 2 (5-3=2)
etc
Cdlmnt
oui c'est possible il faut utiliser la fonction INDIRECT et le n° de la ligne pour reformer une référence valide
Supposons qu'en ligne 4 tu veuille accéder à la feuille 1, puis en ligne 5 à la feuille 2 etc
en ligne 4 la formule =INDIRECT(ligne()-3 & "!A1") renverra le contenu de la cellule A1 de la feuille 1 (4 - 3 =1)
étirée en ligne 5 elle renverra le contenu A1 de la feuille 2 (5-3=2)
etc
Cdlmnt
Merci pour ta réponse, mais j'obtiens un #REF!
En fait en utilisant ta formule, la mienne devient :
=MIN(SI('INDIRECT(ligne()+1096)'!E3:'INDIRECT(ligne()+1096)'!E10000=2;'INDIRECT(ligne()+1096)'!A3:'INDIRECT(ligne()+1096)'!A10000;""))
Avec donc un test sur la plage de données E3:E10000 du feuillet 'INDIRECT(ligne()+1096)', et si le test est ok, ba on prend la valeur max dans la plage A3:A10000. J'ai l'impression qu'Excel ne comprend pas que 'INDIRECT(ligne()+1096)' me sert à nommer le feuillet dans lequel il faut chercher.
En fait en utilisant ta formule, la mienne devient :
=MIN(SI('INDIRECT(ligne()+1096)'!E3:'INDIRECT(ligne()+1096)'!E10000=2;'INDIRECT(ligne()+1096)'!A3:'INDIRECT(ligne()+1096)'!A10000;""))
Avec donc un test sur la plage de données E3:E10000 du feuillet 'INDIRECT(ligne()+1096)', et si le test est ok, ba on prend la valeur max dans la plage A3:A10000. J'ai l'impression qu'Excel ne comprend pas que 'INDIRECT(ligne()+1096)' me sert à nommer le feuillet dans lequel il faut chercher.
via55
Messages postés
14506
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
27 décembre 2024
2 738
29 oct. 2013 à 14:57
29 oct. 2013 à 14:57
Bonjour
c'est ta syntaxe qui n'est pas bonne: il ne faut pas de ' avant INDIRECT et les autres ref entre "" avec concaténation avec & entre le n° renvoyé par ligne et le reste
INDIRECT(LIGNE()+1096 & "!E3:E10000") pas besoin non plus de répéter le nom de la feuille
ou si tu as besoin des apostrophes :
INDIRECT( "'"&LIGNE()+1096 & "'!E3:E10000") première apostrophe entre les 2 premiers guillemets, 2eme apostrophe entre le guillemet et le !
Mais je ne comprends pas ta formule SI appliquée à une plage !?
Si tu cherches le Minimum de la plage c'est plutôt SI(MIN(feuillex!E3:E1000)=2 etc
Cdlmnt
c'est ta syntaxe qui n'est pas bonne: il ne faut pas de ' avant INDIRECT et les autres ref entre "" avec concaténation avec & entre le n° renvoyé par ligne et le reste
INDIRECT(LIGNE()+1096 & "!E3:E10000") pas besoin non plus de répéter le nom de la feuille
ou si tu as besoin des apostrophes :
INDIRECT( "'"&LIGNE()+1096 & "'!E3:E10000") première apostrophe entre les 2 premiers guillemets, 2eme apostrophe entre le guillemet et le !
Mais je ne comprends pas ta formule SI appliquée à une plage !?
Si tu cherches le Minimum de la plage c'est plutôt SI(MIN(feuillex!E3:E1000)=2 etc
Cdlmnt
Merci pour tous tes conseils, j'y suis parvenu grâce à toi, ce qui donne au final comme formule :
=MIN(SI(INDIRECT(B8&"!$E$3:$E$10000")=1;INDIRECT(B8&"!$A$3:$A$10000");""))
Avec dans la colonne B (ici B8 est appelé) le nom de mes feuillets.
A valider avec Ctrl+Mal+Enter
En fait E3:E10000 peut prendre les valeurs suivantes : 1, 2, 3, 4, 5, 6
Ce que je cherche c'est le min et le max des valeurs en A3:10000 pour chacun des cas où la valeur prise en E3:E10000 est 1, 2, 3, 4, 5 ou 6.
Ca fonctionne très bien comme ça, mais tu as sans doute raison, c'est peut être plus logique de mettre le si avant. En tout je confirme, ça fonctionne comme ça.
Merci.
=MIN(SI(INDIRECT(B8&"!$E$3:$E$10000")=1;INDIRECT(B8&"!$A$3:$A$10000");""))
Avec dans la colonne B (ici B8 est appelé) le nom de mes feuillets.
A valider avec Ctrl+Mal+Enter
En fait E3:E10000 peut prendre les valeurs suivantes : 1, 2, 3, 4, 5, 6
Ce que je cherche c'est le min et le max des valeurs en A3:10000 pour chacun des cas où la valeur prise en E3:E10000 est 1, 2, 3, 4, 5 ou 6.
Ca fonctionne très bien comme ça, mais tu as sans doute raison, c'est peut être plus logique de mettre le si avant. En tout je confirme, ça fonctionne comme ça.
Merci.