suppression de ligne

  • Initiateur de la discussion Initiateur de la discussion JEAN MICHEL
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

JEAN MICHEL

Guest
BONJOUR

sur une feuille excel je voudrais supprimer les lignes correspondantes aux cellules vides dans la plage D4.D100
j"ai essaye cette macro trouvee sur cet excelent forum mais je n'ai pas reussi a l'adapter a mon cas
encore merci

'efface la ligne si colonne D =0
Dim NumCol As Byte
Dim NumLig As Integer, i As Integer
Range("D4😀100").Select
NumCol = ActiveCell.Column
NumLig = Range(Cells(100, NumCol).Address).End(xlUp).Row

Application.ScreenUpdating = False
For i = NumLig To 1 Step -1
If Cells(i, NumCol) = "" Then Rows(i).Delete
Next i
Application.ScreenUpdating = True
 
Autres choses

Les lignes vides seront effacés jusqu'à la ligne 1 alors que tu veux t'arrêter à D4

Pour rectifier le tir

For i = NumLig To 4 Step -1

La sélection de D4 à D100 n'est pas nécessaire; il suffit de sélection une cellule de la colonne à traîter

Donc Range("D1").Select

La formule NumLig = Cells(100, NumCol).End(xlUp).Row
définit le départ à la 1er ligne vierge en remontant à partir de la ligne 100

Puis l'arrêt se fait en ligne 4 par la boucle
For i = NumLig To 4 Step -1 qui commence à la valeur calculé précedement (Numlig) et incrémente de -1 (Step -1) chaque boucle pour s'arrêter après avoir I=4
 
Voici déjà une possibilité

Sub dellig()

****** mettre les instructions macros ci dessus*******

End sub


Pour appeler la macro

dans Excel avec le raccourci ALT+F8 la liste des macros nommés apparaît (ici dellig), il suffit de l'executer

D'autres solutions possibles qui s'active par évenement mais suis pas assez pédagogue pour te fournir une explication spontanée
 
Bonjour Jean Michel ainsi qu'à tous & à toutes,

Intéressé par la macro zippée, je me suis empressé de la télécharger.
Néanmoins et bien que le code ai l'air correct (Je débute), cela ne marche pas du tout. J'enlève des données mais la macro (qui parcours le tableau)
n'ôte aucune ligne. ...

Merci pour la soluce.
Je sis sous Excel 2000

A ++

Eric C
 
Rebonjour

Non, rien de rien. J'ai même essayé de supprimer toutesles
données de la colonne D mais en vain.

J'essaierai demain au bureau avec EXCEL 97 mais je
n'y crois pas car le code a l'air correct.

Tu as bien essayé avec le code de ton fil (Clic droit Ouvrir) ??

A ++

Eric C
 
Bonjour à tous


Ci dessous une proposition pour supprimer les lignes vides: on ne boucle que sur le nombre de lignes vides…


Sub supprimer_ligne()

Dim cptr, nbre As Byte

'nombre de cellules vides
nbre = WorksheetFunction.CountBlank(Range("D4😀100"))

cptr = 1
While cptr <= nbre
'numéro de la 1° ligne vide
lig = Columns(4).Find("", [D3], , , xlByRows).Row
Rows(lig).Delete
cptr = cptr + 1
Wend

End Sub

A+
Michel
 
Bonjour à tous,
Merci Jean Michel, ça marche impec et je l'ai adapter hier soir à l'un de mes fichier.
Si je n'ai pu te répondre avant, c'est qu'hier soir j'avais du mal à revenir sur le Forum.
Entretemps, d'autres forumeurs ont fait des propositions... C'est bien car celà permet de voir qu'il peut exister plusieurs solutions.
Je prends!
Encore Merci et à bientôt.
Daniel
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
703
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
10
Affichages
842
Retour