tri avec insertion de ligne vide entre categorie

MikeBelgique

XLDnaute Occasionnel
Bonjour le Forum,

Est-il possible en vba de pouvoir insérer des lignes vides entre deux catégories lors d'un tri

exemple tri sur la colonne D
Celle-ci contiendra :
VS
1
2
3
et d'autres lignes de données mais qui ne contiendront rien en colonne d et donc qui devront être après le reste

donc par logique et tri croissant cela devrait rendre dans l'ordre ci-dessus d'abord les lignes comprenant VS en colonne D ensuite les lignes dont la données 1 en colonne D ensuite les lignes avec la mention 2, après 3 ... MAIS ENTRE CHAQUE CATEGORIE COMMENT PUIS JE LES SEPARER DE DEUX LIGNES VIDES PAR EXEMPLE, donc entre VS et 1 deux lignes vides, entre 1 et 2 deux lignes vides etc...

J'espère m'être bien fait comprendre, merci d'avance de votre aide
 

job75

XLDnaute Barbatruc
Re zebanx,

Réponses aux questions :

1.1 Offset(1) décale la plage du With pour éviter la ligne de titres

1.2 la boucle va de 7 à 10 qui sont les valeurs des paramètres des 4 bordures du contour (xlEdge etc)

1.3 on se positionne sur 1ère ligne vide sous le tableau et on va jusqu'à la dernière ligne de la feuille.

Toutes ces méthodes je les utilise très souvent dans mes programmes.

A+
 

zebanx

XLDnaute Accro
Bonjour à tous !

@job75
Intersect c'est vraiment bien, très bien !
Mais j'aurais une question concernant son utilisation résumée en partant de l'exemple du dessus par rapport à des plages vides (ou contenant "" avec formule).

Si tu as (vous avez) des précisions sur ce sujet, je t'en (ou vous en !) remercie par avance, bonne journée.
zebanx
 

Pièces jointes

  • intersect_question.xls
    45.5 KB · Affichages: 15
Dernière édition:

job75

XLDnaute Barbatruc
Bonjour zebanx,

Pour les cours particuliers je prends cher mais là c'est gratuit ;)

La formule dans la colonne auxiliaire G doit être en G2 =1/OU(A2<>"";B2<>"";C2<>"")

Et le code pour effacer les lignes contenant #DIV/0! doit être :
Code:
With ta
Intersect(.Offset(1), .Columns(7).SpecialCells(xlCellTypeFormulas, 16).EntireRow).ClearContents
End With
A+
 

zebanx

XLDnaute Accro
Re-

Merci @job75
C'est très bien. (et gratuit en plus :D).
J'avais des 0 ou 1 mais la formule du 1/.. pour provoquer une erreur et un specialcells derrière c'est ce qu'il faut faire.
Et c'est bien mieux de penser à cette méthode, quitte à insérer colonnes + formules + remplissage pour faire une suppression rapide derrière
Testé sur 25000 lignes < 1 secondes avec formule colonne G déjà remplie.
Impeccable.

Bonne soirée ;)
 

Discussions similaires

Réponses
10
Affichages
388
Réponses
18
Affichages
669

Statistiques des forums

Discussions
312 584
Messages
2 089 985
Membres
104 328
dernier inscrit
Bocain