Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Effacement de llignes

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 !

bobjazz

XLDnaute Impliqué
Bonjour le forum,
Dans un premier temps, excuse moi de mon absence, je regardai toujours le forum, mais je ne participai pas. Comme certain le sait, j'habitait lyon, mais en 6 mois demenagement, direction bretagne et nouveau boulot, pas de dispo.

Voilà, je voudrais faire une macro qui efface les lignes vides, avec ou les lignes qui comporte un *, qui sont toujours situé en colonne A.
Les feuilles n'ont jamais le même noms.
Dans mon fichier joint je donne une explication.


Merci d'avance
 

Pièces jointes

Re : Effacement de llignes

Bonjour Cher Ami, le Forum

Heureux d'avoir de tes nouvelles et de savoir que tu as de nouveaux horizons, je te souhaite bonne chance.

Moi aussi je suis assez peu dispo en ce moment sur le Forum, beaucoup de taff de développement et plus vraiment la pêche pour continuer sur ordi pendant les moments libres.

Pour ta macro, je propose ceci
Code:
Option Explicit
Sub BobJazz_RockNRoll()
Dim Msg As Byte
Dim Plage As Range, Cell As Range
Dim WS As Worksheet
Dim L As Long, Counter As Long
Set WS = ActiveSheet
With WS
    Set Plage = .Range(.Range("A1"), .Range("A65536").End(xlUp))
End With
For Each Cell In Plage
    If Cell = "*" Or Cell.End(xlToRight).Column = 256 Then
        Counter = Counter + 1
    End If
Next
If Counter > 0 Then
    Msg = MsgBox(Counter & " Lignes vont être supprimées, dans la Feuille " & WS.Name & vbCrLf & _
                 "voulez-vous continuer ?", vbQuestion + vbYesNo)
    
    If Msg = vbYes Then
    
        For L = Plage.Rows.Count To 2 Step -1
            If Cells(L, 1) = "*" Or Cells(L, 1).End(xlToRight).Column = 256 Then
                Rows(L).Delete
            End If
        Next
    
    End If
End If
End Sub

Je pense que ce devrait te dépanner.

Bonne Journée
@+Thierry
 
Re : Effacement de llignes

Bonsoir Thierry

Et oui, je ne suis plus à lyon et mon nouveau job me prend beaucoup de temps.
Merci pour ta macro, mais elle n'efface pas toutes les lignes qu'elles rencontrent avant la derniere ligne ecrite.
exemple sur le fichier feuille "TEST 1(2)

Merci d'avance

Bobjazz
 

Pièces jointes

Re : Effacement de llignes

Bonsoir Robert, le Forum

Oui en effet, je ne scannais que la colonne "A" pour définir le nombre de ligne de la plage... Selon ce que je comprends, il faut trouver en fait la dernière ligne quelque soit la colonne...

Dans ce cas :

Code:
Option Explicit
Sub BobJazz_Its_Only_RockNRoll_()
Dim Msg As Byte
Dim Plage As Range, Cell As Range
Dim WS As Worksheet
Dim L As Long, Counter As Long
 
 
Set WS = ActiveSheet
With WS
    L = .UsedRange.Rows.Count
    Set Plage = .Range("A1:A" & L)
End With
 
For Each Cell In Plage
    If Cell = "*" Or Cell.End(xlToRight).Column = 256 Then
        Counter = Counter + 1
    End If
Next
If Counter > 0 Then
    Msg = MsgBox(Counter & " Lignes vont être supprimées, dans la Feuille " & WS.Name & vbCrLf & _
                 "voulez-vous continuer ?", vbQuestion + vbYesNo)
 
    If Msg = vbYes Then
 
        For L = Plage.Rows.Count To 2 Step -1
            If Cells(L, 1) = "*" Or Cells(L, 1).End(xlToRight).Column = 256 Then
                Rows(L).Delete
            End If
        Next
 
    End If
End If
End Sub



Bonne nuit ou journée (ou les deux lol)
@+Thierry

 
- 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

Discussions similaires

Q
Réponses
10
Affichages
2 K
G
Réponses
9
Affichages
1 K
G
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…