Signaler

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

Posez votre question 194849 5Messages postés mardi 10 octobre 2017Date d'inscription 18 octobre 2017 Dernière intervention - Dernière réponse le 18 oct. 2017 à 21:14 par 194849
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
Utile
+1
plus moins
Bonjour 194849,

Je te propose cette formule :

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

Cordialement
 
194849 5Messages postés mardi 10 octobre 2017Date d'inscription 18 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
Répondre
paul- 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
 
Répondre
194849 5Messages postés mardi 10 octobre 2017Date d'inscription 18 octobre 2017 Dernière intervention - 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/
Répondre
paul- 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
 
Répondre
194849 5Messages postés mardi 10 octobre 2017Date d'inscription 18 octobre 2017 Dernière intervention - 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
Répondre
Donnez votre avis
Utile
+0
plus moins
Bonjour

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

Cdlmnt
Donnez votre avis
Utile
+0
plus moins
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
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !