Ligne() dans une formule

Résolu/Fermé
Anthelm Messages postés 198 Date d'inscription lundi 15 octobre 2018 Statut Membre Dernière intervention 2 mars 2024 - 1 mai 2019 à 11:15
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 - 2 mai 2019 à 12:21
Bonjour,

J'ai la formule suivante dans un tableau, ligne 3:

SI(ESTTEXTE(C3);COLONNE(INDIRECT(C3 & 1));C3)

(Puis en ligne 4, remplacer C3 par C4...)


Je voudrais remplacer tous les C3 par "C"&ligne()
ça permettrait de faire des couper coller dans le tableau sans rien changer.

Donc en résumé, ma formule deviendrait

=SI(ESTTEXTE("C"(ligne());COLONNE(INDIRECT("C"(ligne()) & 1));("C"(ligne()))

Peut importe comment je met mes parenthèse j'ai toujours une erreur, je n'y arrive pas...
Si quelqu'un arrive à voir le truc...!

Merci beaucoup!

Configuration: Windows / Firefox 66.0

4 réponses

Anthelm Messages postés 198 Date d'inscription lundi 15 octobre 2018 Statut Membre Dernière intervention 2 mars 2024 1
1 mai 2019 à 11:19
SI(ESTTEXTE(C3);COLONNE(INDIRECT(C3 & 1));C3)

Si en C3, j'ai le chiffre 8 par exemple, la cellule renvoie 8.

Si en C3, j'ai la lettre C, INDIRECT(C3 & 1) renvoie "3" car "C" est la 3eme lettre de l'alphabet.

Cette formule fait que je peux entrer dans le tableau "de 1 à 5" ou "de A à E", c'est pareil.
0
Anthelm Messages postés 198 Date d'inscription lundi 15 octobre 2018 Statut Membre Dernière intervention 2 mars 2024 1
1 mai 2019 à 11:23
Il manquait plein de "indirect" en fait, c'est bon.

=SI(ESTTEXTE(INDIRECT("C"&LIGNE()));COLONNE(INDIRECT(INDIRECT("C"&LIGNE()) & 1));(INDIRECT("C"&LIGNE())))
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 416
1 mai 2019 à 11:30
Bonjour
si vous demandez à Excel si "C" est un texte, c'est du temps perdu c'est obligatoire avec les guillemets
essayez:
SI(ESTTEXTE(C3));COLONNE(INDIRECT("C" & LIGNE()));C3)
qui vous renverra C3 si il est numérique
.... et 3 si C3 ne l'est pas. Cette formule va s'incrémenter en C4 et ligne .etc..... en tirant vers le bas
mais en fait vous renverra toujours 3 quand C sera texte, car quand vous écrivez :
......INDIRECT(COLONNE("C"&LIGNE()))
vous faites référence à la colonne C, la troisième, quelque soit le n° de ligne qui suit et donc écrire ça ou
SI(ESTTEXTE(C3));3;C3)
revient au même!

alors il faudrait nous en dire plus sur ce que vous voulez faire et sur vos données de base?

à vous lire

crdlmnrt
0
Anthelm Messages postés 198 Date d'inscription lundi 15 octobre 2018 Statut Membre Dernière intervention 2 mars 2024 1
1 mai 2019 à 15:13
Le problème c'est que si C3 contient "A", je veux obtenir "1" en resultat. B=2, etc etc.
0
Anthelm Messages postés 198 Date d'inscription lundi 15 octobre 2018 Statut Membre Dernière intervention 2 mars 2024 1
1 mai 2019 à 15:14
("C"&LIGNE()) & 1) Tout est dans le "& 1" :)
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 416
1 mai 2019 à 15:20
pour avoir 1 si C contient A, il ne faut pas avoir le C entre guillemets, mais renvoyer d'abord la valeur de C:
=COLONNE(INDIRECT(C3&1)). Le LIGNE() n'est pas utile pour avoir C4 en ligne 4 etc...
crdlmnt
0
Anthelm Messages postés 198 Date d'inscription lundi 15 octobre 2018 Statut Membre Dernière intervention 2 mars 2024 1
1 mai 2019 à 15:20
En fait c'est étrange mais colonne renvoie la position dans l'alphabet!...

=COLONNE(INDIRECT("Z"& 1)) renvoie 26. Peut importe ou la formule est placée.

Je ne comprends pas bien le fonctionnement de "Colonne"... mais ça marche.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 416
Modifié le 2 mai 2019 à 12:22
Bonjour
si vous voulez le N° de colonne où se trouve la formule, écrivez simplement: =COLONNE()
pour vopir ce qu'il se passe avec INDIRECT qui transforme un texte d'une cellule en adresse Excel, écrivez dans une celllule:
="Z"&1, la cellule vous renverra le texte Z1 et donc la formule complète vous renvoie le n° de colonne de Z1,.... ou de Z1000 ou de Zxxx, puisque cela ne concerne que le si vous écrivez "ZZ", vous aurez le N° de la colonne ZZ

bonne route
crdlmnt
0