Supprimer des lignes vides

Bonjour,

J'utilise l'exel 2003 pour pouvoir supprimer des lignes vides dans un texte.

Malgrés des manipulations dans la macro, n'indiquant pas d'erreurs lors de l'execution et le certificat VBA, aucune modifications apparaissent sur le texte.

(Pour plus de précisions, je vous envoye la photo de la manipulation de la macro).

J'espère pouvoir recevoir prochainement une réponse me permettant de resoudre ce souci.

12

Bonjour

Qu'entends-tu par "supprimer des lignes vides dans un texte" ?

La macro supprime les lignes vides - C'est à dire que s'il n'y a rien d'inscrit dans aucune cellule d'une ligne elle sera supprimée.

Amicalement

Nad

Bonsoir,

Ta macro fonctionne normalement chez moi,

tu peux aussi essayer

Sub SuppLigneVides()
Dim derli%, r%
    derli = Cells.Find("*", , , , xlByRows, xlPrevious).Row
    For r = derli To 1 Step -1
        If Application.CountA(Rows(r)) = 0 Then Rows(r).Delete
    Next r
End Sub

Salut Nad

Amicalement

Claude

Bonjour et merci de vos réponses,

C'est la première fois que je fais ce truc, et j'ai fini par y arriver.

En fait j'ai remplacé le nom du fichier chiffré par des lettres qui à permit qu'une grande parti des espace disparaisse, mais qulques lignes subsistent malgré plusieurs tentatives.

Comment faire ?

re,

Et si tu nous envoyais ton fichier (ou partie)

en expliquant ton problème, là tu parles d'espaces,

attention, une cellule avec un espace n'est pas une cellule vide bien qu'on ne voit rien !

Claude

Bonjour claude et tous lecteurs,

Pour clarifier, ces lignes vides numérotées, malgré la manipulaton sur la macro et plusieurs essais restent sur le tableau.

(explications photos ci-dessous)

comment faire ?

image 006

Bonjour

J'ai l'impression que les "bordures" de ces lignes n'en sont pas.

Peux-tu te mettre dans une cellule vide de ta feuille et écrire cette formule :

=CODE(A6)

Si c'est bien en colonne A que les noms sont écrits.

Donne-nous le résultat.

Amicalement

Nad

Bonjour à tous,

Envoie le fichier (raccourci si besoin)

la démarche ici

joindrefichier

Amicalement

Claude

Salut Nad et tous lecteurs,

Merci pour tes explications qui sont logiques : on utilise une ligne pour faire les traits donc elle n'est pas vide.

Bonne déduction !

Content de savoir la raison.

Mais par aquis de conscience, il est peut-être possible de supprimer automatiquement toutes les traits et donc le blanc entre les mots des dernières lignes mais serait-il possible d'installer ensuite automatiquement des traits sans blanc à la fin des coordonées mais en plus des noms differents au début et à la fin (autre que NOM et Téléphone) avec en plus parfois des mots supplémentaires dans les lignes des coordonnées ?

Merci de votre réponse.

Re

Essaye ce code :

Sub SupprimeLigneVide()
Dim dlg As Long, i As Long, j As Long
Application.ScreenUpdating = False

dlg = ActiveSheet.UsedRange.Rows.Count

For i = dlg To 1 Step -1

    If Application.WorksheetFunction.CountA(Rows(i)) = 0 Or Cells(i, 1).Value Like ("*_*") Then Rows(i).Delete
Next i

For j = 1 To Range("A65536").End(xlUp).Row Step 4
 Worksheets("Feuil1").Range(Cells(j, 1), Cells(j + 3, 1)).BorderAround _
        ColorIndex:=1, Weight:=xlMedium
Next j

End Sub

Amicalement

Nad

Bonjour et merci pour ton aide,

En fait, le code que tu as proposé permet de remettre des traits mais un peu dans tous les sens.

Si c'est possible, ne serait-il pas possible de détecter le trait et de supprimer le blanc tout en gardant le trait ?

Bonjour

Fresa a écrit :

En fait, le code que tu as proposé permet de remettre des traits mais un peu dans tous les sens.

Pas avec le fichier que j'ai essayé de reproduire selon l'image que tu as envoyée.

19fresa.zip (14.21 Ko)

Si mon fichier ne correspond pas, merci de joindre le tien (comme déjà demandé par Claude) afin d'adapter le code.

Amicalement

Nad

Bonjour,

Je vous envoie en pièce-jointe les détails des étapes des modifications apportées par chacune, indiquant par la dernière le problème encouru.

Comme je vous l'ai indiqué précédemment, dans cette situation, il serait intéressant de pouvoir détecter les traits et de pouvoir supprimer les blanc imbriqués sans enlever les traits.

Qu'en pensez-vous ?

code

Re

Ce n'est pas d'une image dont on a besoin mais de ton fichier.

Amicalement

Nad

OK mais ce sont des données personnelles et l'organisation du tableau est identique.

Re

Essaye ce code

Sub SupprimeVide()
Dim dlg As Long, i As Long, j As Long
Application.ScreenUpdating = False

dlg = ActiveSheet.UsedRange.Rows.Count

For i = dlg To 1 Step -1

    If Application.WorksheetFunction.CountA(Rows(i)) = 0 Or Cells(i, 1).Value Like ("*_*") Then Rows(i).Delete
    If Cells(i, 1).Value Like ("NOM :") Then Cells(i, 1).Borders(xlEdgeTop).Weight = xlMedium

Next i

End Sub

A vérifier que NOM : soit écrit avec un espace avant les :

Modifier dans le code si besoin

Amicalement

Nad

Bonsoir,

Sur ta 3ème étape, le trait n'est plus au dessus du NOM

normal ?

Rappel: envoie une reproduction anonymisée d'un bout de feuille (sur un fichier)

Amicalement

Claude

Bonsoir Claude

La 3ème étape a été réalisée à l'aide de mon 1er code qui encadrait toutes les 4 cellules (cas de la 1ère image jointe). Or, sur la dernière image, on voit qu'il peut y avoir plus ou moins de lignes entre les séries.

Mon dernier code met une bordure haute sur les cellules qui contiennent le mot "NOM :"

Amicalement

Nad

Bonsoir Nad, forum,

On a posté pratiquement en même temps,

pas vu ton code avant

n'empêche qu'il faut vraiment arracher les renseignements de l'auteur !

Claude

OK mais comme je vous l'ai dit, c'est mots de coordonnées sont fictifs.

J'en utilise d'autre, l'organisation est similaire, avec des mots différents selon les celules et des traits comme dans mes exemples.

Telement de celules que le code ne peut pas être modifier après le trait et le blanc.

N'y aurait-il pas un moyen de contourner ce problème ?

Rechercher des sujets similaires à "supprimer lignes vides"