Supprimer des lignes vides

Bonjour,

J'ai un tableau composé de trop nombreuses lignes vides (tableau-avec-lignes-vides) que je voudrais épurer et arriver à obtenir un tableau sans ces lignes vides (tableau-sans-lignes-vides) mais sans le faire manuellement. Comment faire?

Merci

Bonjour,

J'ai regardé ton tableau. Il n'y a pas de ligne vide. Il y a des colonnes vides.

J'avoue avoir du mal à comprendre.

Bonjour,

Je pense avoir mal posé ma demande. Il faut supprimer un maximum de cellules vides pour arriver à regrouper les informations par tronçon comme le montre le tableau sans cellules vides.

pardon mais c'est toujours pas clair. Si je compare tes tableaux, ce sont les lignes vides après la colonne D que tu veux épurer ?

Désolé de ne pas avoir bien posé ma demande. Ce sont les cellules vides que je veux supprimer afin de pouvoir regrouper les informations par tronçon

Imaginons que le tableau est la capture d’écran. La colonne nbre de parcelles doit faire 1 ligne (1 info), la colonne zone d’urbanisme doit avoir deux lignes (2 infos) et prescription surfacique doit avoir 3 lignes (3 infos). Au total, Le tronçon 1-2 ne doit faire que 3 lignes. J'espère que c'est plus clair pour vous.

image

à part une macro qui balaye ton tableau en fonction de critères bien précis, je ne vois pas.

Et si c'est pour un fichier à 500 lignes, ça ne vaut pas vraiment le coup. à la mano, ce sera tout aussi efficace.

Oui mais c'est amené à être répété plusieurs fois, et c'est sujet à erreur de manipulation...

Bonjour a tous une proposition avec macro à tester .

Sub SupprimerCellulesVides()
    Dim ws As Worksheet
    Dim rng As Range
    Dim lastRow As Long
    Dim lastCol As Long
    Application.ScreenUpdating = False
    ' Spécifiez la feuille de travail à utiliser (changement de nom si nécessaire)
    Set ws = ThisWorkbook.Sheets("Passed")

    ' Trouver la dernière ligne et la dernière colonne avec des données
    lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
    lastCol = ws.Cells(1, ws.Columns.Count).End(xlToLeft).Column

    ' Définir la plage à partir de la colonne A jusqu'à la colonne AR et jusqu'à la dernière ligne
    Set rng = ws.Range(ws.Cells(1, 1), ws.Cells(lastRow, lastCol))

    ' Filtrer la plage pour ne montrer que les cellules vides
    On Error Resume Next
    rng.SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
    On Error GoTo 0

    ' Libérer la mémoire
    Set rng = Nothing
    Application.ScreenUpdating = True
End Sub

La feuille s'appel "Passed" change le si pas bon

Bonjour,

Je n'ai pas encore fait de macro dans excel. Faut-il que je la copie telle quelle?

Bonjour conejo,

1 : Ouvrir Excel

Si l'onglet "Développeur" n'est pas déjà affiché dans le ruban d'Excel, tu devras l'activer. Pour ce faire, procède comme suit :

  1. Clique sur l'onglet "Fichier" dans le coin supérieur gauche.
  2. Clique sur "Options Excel" (en bas du menu à gauche).
  3. Dans la fenêtre "Options Excel", sélectionne "Personnaliser le ruban" dans le menu de gauche.
  4. Coche la case "Développeur" dans la liste des onglets à droite.
  5. Clique sur "OK" pour enregistrer les modifications.

Étape 2 : Accéder à l'éditeur VBA

  1. Clique sur l'onglet "Développeur" dans le ruban. Si l'onglet "Développeur" n'est pas visible, active-le en suivant les étapes que je t'ai expliquées précédemment.
  2. Dans le groupe "Code", clique sur "Visual Basic". Cela ouvrira l'éditeur VBA.

Étape 3 : Insérer une nouvelle macro

Dans l'éditeur VBA, tu peux insérer une nouvelle macro comme suit :

  1. Dans l'Explorateur de projets (c'est la fenêtre de gauche de l'éditeur VBA), sélectionne le classeur où tu souhaites insérer la macro.
  2. Clique avec le bouton droit sur ce classeur.
  3. Choisis "Insertion" dans le menu contextuel, puis "Module". Cela créera un nouveau module dans le classeur.
  4. Double-clique sur le module pour l'ouvrir dans l'éditeur de code.

Étape 4 : Écrire le code de la macro

Dans l'éditeur de code du module que tu viens de créer, tu peux écrire le code VBA de ta macro.

Etape4 : Enregistrer la macro dans un classeur de macros personnelles :

  1. Dans l'éditeur VBA, assure-toi d'être dans le module où tu as écrit ta macro.
  2. Clique sur "Fichier" dans la barre de menu de l'éditeur VBA.
  3. Choisis "Enregistrer sous" et sélectionne "Classeur Excel avec macros habilitées (*.xlsm)" comme type de fichier.

Merci cela a l'air de fonctionner, en ce sens que cela ramène toutes les cellules renseignées vers le haut. Mais ce qu'il faut savoir c'est que ces informations sont regroupées par le champ TRONCON. Il ne faut pas perdre ce regroupement.

Ton fichier avec ligne vide est tellement déstructuré comparé a l'autre c'est le mieux que je puisse faire a voir si qu'un d'autre aurait mieux.

test
Ah merci.

Pour ma part, la méthode que j’ai est de créer une feuille pour chaque tronçon. Pour chaque feuille, je fais F5

Cela sélectionne toutes les cellules vides. Ensuite je fais clic droit supprimer.
Je fais la même chose pour toutes les feuilles.

Puis j’intègre toutes les feuilles en une seule, ce qui donne le fichier tableau-sans-lignes-vides.

Bonjour conejo,

La colonne nbre de parcelles doit faire 1 ligne (1 info), la colonne zone d’urbanisme doit avoir deux lignes (2 infos) et prescription surfacique doit avoir 3 lignes (3 infos). Au total, Le tronçon 1-2 ne doit faire que 3 lignes

30082 6509567e5ca16385740300

Déjà dans tes explications il y a un truc pas clair, dans un premier temps pour le même tronçon, la même commune, la même longueur, ta zone d'urbanisme c'est soit naturelle ou urbaine mais pas les deux ! Ensuite tu dis que tu dis qu'au total le tronçon 1-2 doit faire 3 lignes et j'en vois 6 dans le fichier sans lignes vide!

Et dans le fichier ligne vide urbaine et naturelle sont inversées !

sans titre

Bonjour,

Désolé pour la confusion.
L'objectif est de supprimer un maximum de lignes vides en remontant les informations vers le haut comme ceci :

image

Le nombre de lignes max par tronçon est conditionné par la colonne qui a le plus d'informations (ici la prescription surfacique, donc 3 lignes).
J'espère que c'est plus clair.

bonjour stepaustras, conejo,

comme ceci ?

Bonjour a tous,

J'ai fais un truc un peu plus bourrin plus qu'a cliquer sur le bouton

Rechercher des sujets similaires à "supprimer lignes vides"