Formule "=Si "d'excel [Résolu]

194849 8 Messages postés mardi 10 octobre 2017Date d'inscription 24 octobre 2017 Dernière intervention - 10 oct. 2017 à 20:00 - Dernière réponse : 194849 8 Messages postés mardi 10 octobre 2017Date d'inscription 24 octobre 2017 Dernière intervention
- 18 oct. 2017 à 21:14
Bonjour,
je cherche une solution car j'ai écrit une longue formule avec si, qui marche tant que ma feuille est ouverte mais qui une fois suvegardée et fermée et réouverte est remolacée par "valeur"....existe-t-il une solution?
voici un résumé de la formule :
=SI(A2=1;$O$25;Si(A2=1;$O$26;....jusqu'à Si(A2=27;$O$54,"")))))))...autantque de variantes.
D'avance merci
Afficher la suite 

11 réponses

Répondre au sujet
+1
Utile
8
Bonjour 194849,

Je te propose cette formule :

=SI(ET(A2>=1;A2<=27);DECALER(O24;A2;0);"")

Cordialement
 
Cette réponse vous a-t-elle aidé ?  
194849 8 Messages postés mardi 10 octobre 2017Date d'inscription 24 octobre 2017 Dernière intervention > paul - 11 oct. 2017 à 16:22
Merci Paul,
je me suis mal exprimé.
j'ai écris une macro pour faire différents tris dans un ordre établi.
La formule est reproduite dans la même colonne sur 500 cellules avec des valeurs différenciées.
La formule m'aide à remplir une plage de donnée évitant les répétitions. (éditeurs, genres, auteurs, hommes où femmes, lieu de rangement (salon, bureau, chambre, etc.) J'ai plusieurs colonnes comportant un code qui correspond à une liste de noms hors plage de données,1, 2, 3,.....500 pour tout ce qui peut-être répétitif.
Après avoir entré plusieurs plusieurs lignes dans ma base de données avec la formule,
j'ai besoin de faire plusieurs tris avec ma macro, par éditeurs, genres, etc., et le tri de la colonne où trouve la formule me renvoie les données en fin de colonne, il prend les colonnes vides en premier. C'est pouquoi j'ai dû remplacer le dernier argument de la formule ;"" par ;"z" ce qui fait que toute les cellules non remplies obtiennent un z me permettant d'avoir un tri croissant normal.
Je sais que je pourrais ignorer les cellules vides avant le tri, mais lorsque je veux imprimer le résultat je n'ai plus une mise en page satisfaisante.
Comment puis-je vous envoyer une image de l'écran ?
je vous suis reconnaissant pour le temps et le soin que vous consacrer à mon problème.
je fais cela en amateur et avec plaisir (je suis retraité) pour lister quelque 400 livres.
La formule dans son état correspond tout à fait à mes besoins, je vous remercie encore, c'est pour le goût de la perfection que j'insiste...un peu.
Merci mille fois.
194849
paul > 194849 8 Messages postés mardi 10 octobre 2017Date d'inscription 24 octobre 2017 Dernière intervention - 12 oct. 2017 à 02:12
 
Bonjour 194849,

J'ai bien lu ton texte, et voici ce que j'en ai tiré :

-----------------------------------------------------

Tu veux faire un tri croissant, qui devra tenir compte des cellules vides.

-----------------------------------------------------

... pour remplir une plage de données en évitant les répétitions

Un tri n'évitera pas les doublons mais permettra de les repérer plus facilement ;
s'il y a des doublons à éviter, tu peux utiliser : onglet Données, groupe Outils de
données, Supprimer les doublons ; ça marche sur une même colonne ou sur
une colonne hors tableau (à toi de choisir ce que tu préfères).

-----------------------------------------------------

J'ai besoin de faire plusieurs tris avec ma macro, par éditeurs, genres, etc...

Différents tris :
    - sur une même colonne qui peut varier : C à J ? autre ?
    - à partir de quelle ligne ? 5 ? autre ?

-----------------------------------------------------

Le tri de la colonne où se trouve la formule me renvoie les données en fin de colonne.

Il prend les colonnes vides en premier => j'ai dû remplacer le dernier argument de la
formule ;"" par ;"z" ce qui fait que toute les cellules non remplies ont un z qui permet
d'avoir un tri croissant normal.


Ne le fais pas encore, mais je pense qu'il vaudra mieux remettre la formule telle qu'elle était avant, donc avec ;"" en dernier paramètre ; le tri ne sera pas appliqué sur toutes les lignes du tableau (utilisées ou non), mais seulement sur les lignes utilisées du tableau (donc pas sur les lignes vides).

-----------------------------------------------------

Je sais que je pourrais ignorer les cellules vides avant le tri, mais lorsque je veux imprimer
le résultat je n'ai plus une mise en page satisfaisante.


J'espère que ce problème sera réglé avec l'utilisation de la méthode ci-dessus.

-----------------------------------------------------

J'ai plusieurs colonnes comportant un code de 1 à 500.

Ne serait-ce pas plutôt une colonne qui contient un code de 1 à 500,
cela pour plusieurs lignes ? difficile de voir sans ton fichier !  :(

-----------------------------------------------------

Après avoir entré plusieurs lignes dans ma base de données avec la formule...

Tu as donc une macro (pas une formule) qui permet d'ajouter une ligne dans ta
base de données ; est-ce la même macro que celle qui fait le tri ou une autre ?

==============================

Tu as proposé d'envoyer une image écran, mais ce ne sera pas suffisant =>
il vaut bien mieux que tu envoies ton fichier sans donnés confidentielles
sur mon-partage.fr ; tu devras copier / coller le lien de téléchargement
dans ton prochain post.

Cordialement
 
194849 8 Messages postés mardi 10 octobre 2017Date d'inscription 24 octobre 2017 Dernière intervention > paul - 12 oct. 2017 à 10:41
Bonjour Paul,
je t'envoie le fichier avec son commentaaire.
merci et belle journée
https://mon-partage.fr/f/DtDLnFei/
paul > 194849 8 Messages postés mardi 10 octobre 2017Date d'inscription 24 octobre 2017 Dernière intervention - 18 oct. 2017 à 05:37
 
Bonjour 194849,

Fichier n° 1 : https://mon-partage.fr/f/l54LE2Z9/
Fichier n° 2 : https://mon-partage.fr/f/hANS4kTT/

Merci de me donner ton avis.

Cordialement
 
194849 8 Messages postés mardi 10 octobre 2017Date d'inscription 24 octobre 2017 Dernière intervention > paul - 18 oct. 2017 à 21:14
Bonsoir Paul,
une mise en page avec ligne de titres répétée et tout est parfai !
merci infiniment !
créer une feuille listes a résolu tous les petits problèmes restants.
merci encore...
belle soirée
Commenter la réponse de paul
ccm81 8223 Messages postés lundi 18 octobre 2010Date d'inscription 6 janvier 2018 Dernière intervention - Modifié par ccm81 le 10/10/2017 à 20:10
0
Utile
Bonjour

Essaies ceci (en supposant que dans A2 tu as un entier de 1 à 30)
=INDEX($O$25:$O$54;$A$2)

Cdlmnt
Commenter la réponse de ccm81
fabien25000 265 Messages postés mercredi 5 octobre 2016Date d'inscription 16 octobre 2017 Dernière intervention - 10 oct. 2017 à 20:10
0
Utile
Bonsoir,

il y a déjà une erreur dans ton exemple :
=SI(A2=1;$O$25;Si(A2=1;$O$26;
On pourra surement répondre avec un fichier en support
1) Tu vas dans http://cjoint.com/
2) Tu cliques sur [Parcourir] pour sélectionner ton fichier (15 Mo maxi)
3) Tu défiles vers le bas pour cliquer sur le bouton bleu [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien en gras ; tu fais un clic-droit dessus et tu choisis "Copier le lien"
5) Tu reviens dans ta discussion sur CCM, et dans ton message tu fais "Coller".
=>Voir la fiche http://www.commentcamarche.net/faq/29493-utiliser-cjoint
Commenter la réponse de fabien25000