Autres Excel 2003 supprimer lignes vides sur tableaux "côte à côte"

Ross

XLDnaute Nouveau
Bonjour à tous,

Mes limites venant d'être atteintes... je me tourne vers vous pour essayer de les repousser !!

Savez vous si il est possible de supprimer les lignes vides de ces 3 tableaux situé sur le même onglet ??
(J'ai bien tenté le filtre automatique, mais de fait, cela ne marche que pour le 1er tableau et efface les suivantes )

Merci et Excellente journée
Ross
 

Pièces jointes

  • Calcul CIPAN - Copie.xls
    500.5 KB · Affichages: 13

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Dans le fichier joint vous trouverez la macro ci-dessous. Sélectionnez une cellule d'un des trois tableaux et lancez-là par alt+F8 (à répéter sur les trois tableaux)

Attention, votre ligne de total en bas du premier tableau, sera supprimée si elle n'est pas séparée de celui-ci par au moins une ligne vide.

VB:
Sub TrierSupprimerLignesTableau()
    Dim tbl As Range
    Dim Lignes As Long
    '
    ' Récupération du tableau
    Set tbl = ActiveCell.CurrentRegion
    ' Tri des données en ordre descendant sur première colonne
    tbl.Sort Key1:=tbl.Range("A2"), Order1:=xlDescending
    ' Récupération du nombre de données en première colonne
    Lignes = Application.CountIf(tbl.Columns(1), "*?")
    ' Si différence du nombre de lignes total du tableau et le nombre de données en colonne 1
    If Lignes < tbl.Rows.Count Then
        'Suppression des lignes
        tbl.Cells(Lignes + 1, 1).Resize(tbl.Rows.Count - Lignes, tbl.Columns.Count).Delete xlShiftUp
    End If
End Sub

Cette macro tri le tableau sur 'Commune' de Z à A pour avoir les lignes 'vides' en bas,
elle calcule le nombre de 'Données' dans la première colonne, s'il y a une différence avec le nombre total de lignes, elles supprime les lignes sans données.



cordialement
 

Pièces jointes

  • Calcul CIPAN - Copie.xls
    541.5 KB · Affichages: 5

Ross

XLDnaute Nouveau
Merci Roblochon de t'être penché sur mon problème !!
Avec ta macro j'ai du coup pu rassembler tous les tableaux sous un seul onglet ...
En revanche est il possible de conserver les titres (Commune, N°d'ilot...) de chaque colonne en haut de tableau ?

Merci de ta réponse
 

Pièces jointes

  • Calcul CIPAN - Copie 2.xls
    387 KB · Affichages: 4

Hasco

XLDnaute Barbatruc
Repose en paix
Re,

Oui, désolé j'avais oublié le paramètre Header dans le tri.

VB:
Sub TrierSupprimerLignesTableau()
    Dim tbl As Range
    Dim Lignes As Long
    '
    ' Récupération du tableau
    Set tbl = ActiveCell.CurrentRegion

    ' Récupération du nombre de données en première colonne
    Lignes = Application.CountIf(tbl.Columns(1), "*?")

    ' Si différence du nombre de lignes total du tableau -1 (entête)
    ' et le nombre de données en colonne 1
     If Lignes < tbl.Rows.Count - 1 Then
 
       ' Tri des données en ordre descendant sur première colonne
        tbl.Sort Key1:=tbl.Range("A2"), Order1:=xlDescending, Header:=xlYes

        'Suppression des lignes
        tbl.Cells(Lignes + 1, 1).Resize(tbl.Rows.Count - Lignes, tbl.Columns.Count).Delete xlShiftUp
    
End If
End Sub

bonne soirée
 

Ross

XLDnaute Nouveau
Bonjour Roblochon,
Je vous ferai bien la blague de vous dire que c'est bien ce qu'il me semblait ...il manquait Header dans le tri... mais ce serait trop gros !!

En revanche à moins que je n'ai pas la bonne procédure pour intégrer la macro... le titre reste en bas .

Si vous avez une solution, je suis toujours preneur :))
Encore merci pour le temps passé
 

Pièces jointes

  • Cipan 3.xls
    362 KB · Affichages: 3

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Déjà pour que cela fonctionne, il faut qu'il y ait des lignes vides dans vos tableaux, ensuite que vous rameniez les entêtes en haut, ils ne vont pas monter tout seul.

Cordialement
 

Pièces jointes

  • Calcul CIPAN - Copie.xls
    420 KB · Affichages: 5

Discussions similaires

Statistiques des forums

Discussions
312 294
Messages
2 086 895
Membres
103 404
dernier inscrit
sultan87