2eme question Excel du jour! - Logiciels - Windows & Software
Marsh Posté le 25-10-2005 à 15:32:11
J'ai trouvé comment afficher la valeur d'une cellule si une autre n'est pas vide. C'était facile en fait: il suffit de faire pour B2:
=IF(page1!B1;page1!A1;"" )
Par contre, je ne sais toujours pas comment afficher plusieurs résultats dans cette cellule B2: il me faudrait un truc du genre:
Afficher dans B2:
=IF(page1!B1;page1!A1;"" ) ET =IF(page1!B2;page1!A2;"" ) ET =IF(page1!B3;page1!A3;"" ) etc...
Quelqu'un a une idée?
Marsh Posté le 25-10-2005 à 16:12:20
Bon, j'avance! Et je vous tiens au courant, on ne sait jamais...
En fait pour afficher plusieurs résultat, il suffit de les séparer par un & (il suffisait d'y penser!).
La formule en question devient donc:
=IF(page1!B1;page1!A1;"" )&IF(page1!B2;page1!A2;"" )
Et en mettant un " , " avec un & en plus, on sépare les résultats par une virgule.
Maintenant ce qu'il me faudrait c'est mettre un retour à la ligne à la place de la virgule! Quelqu'un à une idée de la manière dont on peut mettre ainsi en forme l'interieur d'une cellule excel? J'ai essayé le ^p et ca ne marche pas...
Aller les gars, courage, on va y arriver!
Marsh Posté le 25-10-2005 à 16:35:44
et une bonne vieille macro qui te fait ça, ça irait pas ?
Marsh Posté le 25-10-2005 à 16:44:08
bah une que tu fais toi-même bien sûr
si tu sais comment faire, c'est assez simple, il te suffit d'enregistrer une macro, tu fais une ou 2 manips, tu arrêtes l'enregistrement, et tu vois le code produit que tu adaptes à tes besoins
je ne fonctionne que comme ça pour les macros, on apprend "vite" et "utile" ainsi, pas besoin de livres
Marsh Posté le 25-10-2005 à 17:02:39
Pour aller à la ligne, le caractère est Chr(13) ou bien Chr(13) suivi de Chr(10) (retour chariot et line feed: CR+LF)
EDIT: ce sont les codes Ascii. Genre Chr(65) c'est A
Marsh Posté le 25-10-2005 à 17:20:36
Hmm, impossible de rentrer le code ASCII dans une formule (ou alors je sais pas comment faire). Soit on le rentre sans "" et la il ne le reconnait pas, soit on le rentre avec les "" et la forcément il inscrit le Chr(13) en question.
Quand à la macro, je vais tenter mais j'ai peu d'espoir: l'exemple que j'ai donné est très simple, mais dans mon tableau ca prend beaucoup beaucoup plus d'opérations...
Marsh Posté le 27-10-2005 à 02:55:00
Au temps (:o) pour moi, ce n'est pas la bonne syntaxe ET une fois corrigé ça ne fonctionne pas
Je pensais à ceci:
Citation : =CONCATENER("ABC";CAR(13);CAR(10);"DEF" ) |
et ça affiche deux carrés blancs (mais "ABC
DEF" ici sur le Forum par copier/coller, retour à la ligne inclus )
Bon sinon, avec une macro:
- garder ta formule en haut mais en remplaçant la virgule par un caractère vraiment bizarre ( ñ )
- pour ça, faire une macro qui enregistre un Edition / Remplacer tout où tu décides de remplacer tous les ñ par des £
- dans le code de la macro (Alt + F11 ), il faut modifier ce £ dont on se fiche par Chr(10) (sans les guillemets car c'est c'est pas la chaîne de caractère C+h+r+(+1+0+) qu'on veut mais le caractère zou_à_la_ligne)
Ca donne:
Citation : Sub Retouralaligne() |
Reste à associer ta macro à un bouton dans une barre d'outils perso et/ou à un raccourci-clavier inutilisé
Marsh Posté le 25-10-2005 à 12:17:13
Bienvenue au niveau 2!
La deuxième question excel du jour est la suivante:
J'ai 3 cellules: sur la page 1, A1 et B1, et sur la page 2, B2.
Comment faire pour afficher l'info de A1 dans B2, uniquement si la cellule B1 n'est pas vide?
Par extention, l'idée, c'est que je cherche à remplir une page 2 (avec une mise en page propre), à partir du tableau synthétique établit dans la page 1: dans la cellule B2 en question, par exemple, je voudrais afficher des infos contenues dans les cellules de la colonne A de la page 1, mais uniquement si la valeur des cellules correspondantes existent.
Par exemple, si j'ai dans la page 1:
A B
1 Bonjour 1
2 Au revoir
3 Adieu 3
Dans B2 (page 2), je voudrais afficher:
Bonjour
Adieu
Est-ce possibleble?
Merci encore de votre aide!