| ||||||||
Nouvelle astucienne | bonsoir, voici ce que j'ai saisi dans ma macro :
Sub supp_lignes()
'
' supp_lignes Macro
' Macro enregistrée le 09.11.2005 par PGM
'
'Dim myCtrl, dernLigne, I
'détermine le numéro de la dernière ligne utilisée
dernLigne = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Count - 1
'désactive la mise à jour de l'écran afin d'accélérer les traitements
Application.ScreenUpdating = False
'Pour toutes les lignes en partant de la dernière
For I = dernLigne To 1 Step -1
'La fonction Excel CountA correspond à =NBVAL
If Application.WorksheetFunction.CountA(Rows(I)) = 0 Then
Rows(I).Delete Shift:=xlUp
End If
Next I
End Sub
Mon problème c'est que cela doit se passer dans un tableau avec calcul automatique et par conséquent même en stipulant dans les options de ne pas afficher les valeurs "zéro", excel voyant que ce n'est pas vide (formule), ne supprime pas les dernières lignes qui n'ont pas d'informations pourtant. Si je supprime les calculs automatiques, cela marche...
J'ai pêché -en partie- cette formule dans un vieux n° de l'Oi de 01/2003...
Voici le détail de mes colonnes :
a:c date, mois et n° client,
d : formule rechercherv,
e:s chiffres, et pas de formules
t:z formules de calcul issues des colonnnes e:s
Mon tableau compte minimum 25 lignes + celle du total, et en dessous 5 lignes de récap.
Donc si j'efface les formules qui sont de t à z, ma macro fonctionne...si je les laisse, ça ne marche pas.
Or le haut du tableau (complété) est repris trimestriellement dans une autre feuille, et bien sur les lignes vides ne servent à rien... Mais
Si j'utilise "a à c" je ne retrouve que la ligne qui a une données, sachant que la ligne "total" de mon tableau disparaît aussi, ainsi que les 4 ou 5 lignes qui sont en dessous des totaux et qui récapitulent l'ensemble du tableau en "bouteilles" ou en "équivalence".
Si je prends les colonnes e à s, cela conserve ma ligne "total du tableau" mais fait également disparaître les lignes récap du dessous...
J'espère ne pas vous avoir donné mal à la tête, parce que j'arrive à être embrouillée toute seule à la relecture [tropbu]
Bref je souffre ! je suis perdue ![rougir] [bombe]
Merci d'avance pour votre aide.
| |||||||
Publicité | ||||||||
| ||||||||
![]() | bonsoir,
essaie de remùplacer ta ligne "CountA" par : If Application.WorksheetFunction.CountA(Range(Cells(i, 1), Cells(i, 19))) = 0 Then Le reste sans changement.
A+Modifié par galopin01 le 12/11/2005 19:06 | |||||||
|
Les bons plans du moment PC Astuces | Tous les Bons Plans | ||||||||||||||||
|