Supprimer des lignes si cellule vide

Bonjour le forum,

Une fois de plus je reviens vers vous. je suis très contente des réponses que j'obtiens sur sur forum donc je me permets de vous demander à nouveau de l'aide.

j'ai créer une macro qui me génère des n° dans la colonne A en fonction d'un nombre défini. ce que je souhaiterai c'est supprimer les ligne du tableau lorsque ma colonne A est vide.

mon fichier est trop lourd pour être poste donc je vais essayer de vous mettre un exemple :

Colonne/LignesABC
111
122
133
144
155
16
17
18

je souhaites que lorsque les cases A12 et les suivantes (peut aller jusqu'à 50 ou plus) sont vides, ils me supprime l'ensemble de la ligne 12 et suivantes.

merci pour avance pour votre aide.

Bonjour, et si on revoyez plutôt la macro qui créé des numéros en trop ?

Il suffirait de modifier le code qui créé vos numéros en testant d'abord le nombre de lignes utilisées dans la colonne B

Impossible de modifier cette macro. je vous explique:

les numéros s'incrémente en fonction du nombre d'année lié à une immobilisation:

- si l'immo est sur 5 ans, cela incrémente 6 lignes (à cause du prorata de la première année)

- si l'immo est sur 30 ans, cela incrémente 31 lignes

- si je rebascule sur une immo à 5 ans, la macro effacte tous les n° de ligne et ré-incrémente 6 n°.

j'ai un tableau mise en forme et je souhaiterais que les lignes 17 et plus se supprime parce qu'elle n'ont plus de n° et que par conséquent mon tableau mis en forme soit à la bonne échelle. et je veux que ça se fasse peu importe le nombre de ligne à supprimer sauf la première

Ok mais un fichier exemple serait plus clair.

On test quoi ? la colonne B ou la Colonne A ?

Si pas d'info en face d'un numéro conne B alors on supprime la ligne concernée ?

Mon fichier est trop lourd pour le joindre c'est pour ça que j'ai fait une ébauche de mon tableau avec les en-tête ligne et colonne

on test sur la colonne A : si A est vide, supprimer la ligne

Bonjour Mayolis,

Ci-dessous une proposition d'un code simple qui devrait répondre à ta demande. Ce code est à copier/coller dans un module standard et à adapter à ton tableau le cas échéant :

Sub Suppression()
    NbreLigneMax = Cells(Rows.Count, 1).End(xlUp).Row
    For i = NbreLigneMax To 1 Step -1
        If Range("A" & i).Value = "" Then
            Rows(i).EntireRow.Delete
        End If
    Next
End Sub

Bonjour,

merci pour votre réponse mais pouvez-vous m'indiquer à quoi correspond chaque ligne afin que je puisse l'adapter à mes différents tableaux? (je débute en vba je n'ai commencé qu'il y a 1 mois ^^)

merci à vous

Bonjour un essai de traduction :

Sub Suppression()
'Déclaration variable Nombre de ligne utilisées
Dim NbreLigneMax as long

' Nombre de ligne cherche dernière ligne non vide de la colonne 1
    NbreLigneMax = Cells(Rows.Count, 1).End(xlUp).Row

'On créé une boucle de variable i
'Pour tout i en commençant par la dernière ligne puis en remontant (-1)
    For i = NbreLigneMax To 1 Step -1

'Si la cellule A de la ligne " i " interrogée est vide alors on supprime la ligne.
        If Range("A" & i).Value = "" Then
            Rows(i).EntireRow.Delete
        End If
'Ensuite on passe à la valeur suivante de i jusquà revenir à la ligne 1 
   Next
End Sub

Bonjour,

Ce code est super et je pense que c'est exactement ce dont j'ai besoin. est-il possible d’arrêter la boucle pour ne pas qu'il efface la première ligne. quel élément je dois changer ?

par exemple supprimer toutes les lignes et arrêter la recherche à la ligne 2 pour que la première ligne du tableau, qui contient toute mes formules reste.

merci

Merci à Xmenpl pour la traduction ! Je n'aurai pas fait mieux :)

Bonjour Mayolis,

Tu viens de donner la réponse . Il faut remplacer 1 par 2 :

For i = NbreLigneMax To 2 Step -1

super merci infiniment à tous

Rechercher des sujets similaires à "supprimer lignes vide"