|
|
|
|
olive60, le vendredi 25 juillet 2008 à 17:59:48Configuration: Windows XP Internet Explorer 7.0
Salut,
On peut faire des trucs ▼▼▼ Données►Grouper et former un plan ensuite, manipuler le niveau de groupement @+
|
Non en fait j'ai trouvé une solution à mon problème (qui n'était pas très bien exprimé je l'avoue!)
il me faudrait faire une macro qui : If Cells(i, 2) = non blank (si elle contient qq chose) Then delete.entire row Voila Si vous pouviez m'aider a la mettre en forme correctement... |
Quand tu actives la fonction Sous-total, des colonnes, des points et des carrés s'affichent à gauche de ton écran ; ils délimitent les éléments du PLAN qu'Excel a élaboré. En cliquant sur le petit 2 (tout en haut) tu masques les lignes concernées par le décompte et tu ne lis que les sou-totaux ; en cliquant sur le petit 1, il ne te reste que le total général (si tu as coché l'option"Synthèse sous les données") ; en cliquant sur le petit 3, tu retrouves l'affichage complet. Génial, non ?
C'est bien, la retraite ! Surtout aux Antilles ... :-)
Raymond |
Bonjour Raymond,
Oui oui je sais bien tout ça mais ce n'est pas exactement ce que je voudrais... cf ci dessus! Olive |
Désolé ! Le temps que je rédige mon message tout en recontrôlant sur Excel pour ne pas écrire de bêtises, il y a déjà eu la proposition d'arrial et deux précisions apportées par olive60 !
Toutefois je préfère ne pas effacer ma réponse (devenue inutile pour olive60) car elle pourrait intéresser d'autres utilisateurs. Cordialement. C'est bien, la retraite ! Surtout aux Antilles ... :-) Raymond |
:-)
Pas de souci Raymond, c'est gentil qd même. Cela dit si vous pouvez m'aider sur la macro (cf ci dessus)...je serais ravi Olive |
Voici mon premier essai, biensur il n'est pas correct (je crois que j'ai un peu inventé des codes, je débute! )
Il me faudrait un magicien pour la corriger un peu Sub Suppr_lignes_sstotaux() For i = 2 To 3924 If Cells(i, 2) = Value.NonBlanks Then Entire.Row.Select Entire.Row.Delete End If Next i End Sub |
Pas de chance : je suis parfaitement incompétent en matière de macro.
Mais es-tu vraiment sûr que tu auras des bugs ou de blocages à cause du grand nombre de lignes ? Réalise une copie de ton fichier et fais des essais (post 3) : Je parie que ça marchera. C'est bien, la retraite ! Surtout aux Antilles ... :-) Raymond |
Oui j'en suis sur j'ai essayé plusieurs fois c'est horrible.
Voici ma macro, je ne comprends pas pourquoi dès que j'ai deux lignes de suite avec une cellule vide ça foire, le reste du temps elle marche nickel : Sub Suppr_lignes_sstotaux() For i = 2 To 3924 If Cells(i, 2) = xlCellTypeBlanks = False Then Rows(i).EntireRow.Delete End If Next i End Sub |
up ! o^^O |
Bonsoir,
Ta macro commence à ressembler à qqc. Bien. La recopie que tu propose dans ton dernier message est "bizarre": if ...=...=... !!!!!!!!!!!! C'est quoi ça avec 2 = ??? Sinon deux remarques : - si ta macro te laisse 2 lignes, pas de secret : les cellules testées ne sont pas = blank !!! - au début de la macro tu devrais mettre Application.ScreenUpdating = False (pour arreter la maj de l'affichage) puis ....=true (à la fin) pour rafraichir ton écran. Par expérience, tu verras que le temps de traitement peut être considérablement diminué avec cette astuce. A+ |
bonjour;
pourquoi deux fois le = ? Car je ne sais pas comment faire pour dire si la cellule n'est pas vide alors... Et je ne comprends pas pourquoi elle marche correctement (cellule non vide en B donc efface toute la ligne) jusqu'a ce qu'il y est deux fois de suite une cellule pleine (Ex: B35 pleine et B36 pleine). Dans ce cas la marco supprime qd meme une ligne avec une cellule vide... enfin je comprends pas trop ce quelle fait dans ce cas mais ca foire... Merci si vous pouvez m'aider Ophélie
|
Bonsoir,
En fait quand il y a des suppressions de ligne il faut partir de la fin. Donc écrire plutôt : For i = 3924 to 2 step -1 |
Marrant.
Vous ne faites jamais de déclarations de variables, tous ? C'est vrai qu'on a plus de mémoire actuellement que sur le IBM 1130 … |
Bonjour;
d'aprés l'ennoncé du problème ,je crois qu'on utilisant le filtre : 1----filtré par 'Sous-totaux' 2----copier la zone filtrée 3----collage special et le tour est joué |