efface lignes

maelys

XLDnaute Junior
bonjour
je voudrais pouvoir effacer des lignes dans un tableau lorsque des cellules sont vides
j ai fait une recherche dans les anciens messages postes et j ai trouve ceci:

Sub supp()
Dim Cel_vide As Range
Dim ad_cel As Integer

For Each Cel_vide In Range(E7, J80)
If Cel_vide.Value = "" Then
ad_cel = Cel_vide.Row
Rows(ad_cel).Delete
End If
Next Cel_vide
End Sub


le probleme c est que il me dit qu il y a une erreur de methode "range"
et je suis un peu debutante sur vba aussi j aimerai savoir si ca s execute automatiquement ou si il y a besoin d appeler la fct dans la feuille ou je met le code
merci pour votre aide
 

informatixo

XLDnaute Occasionnel
Re : efface lignes

Ah mince j'ai oublié :

Code:
If MsgBox("Voulez vous transférer ces données dans la feuille 2 ?", vbYesNo + vbInformation + vbDefaultButton2, "Confirmation") Then
    Ton code de transfert en feuille 2
End If
Quand on mets le MsgBox dans une condition il faut mettre les paranthèses et le "vbDefaultButton2" sert à placer le focus sur le "Non" pour éviter de cliquer par mégarde.

A plus
 

Dan

XLDnaute Barbatruc
Re : efface lignes

Re,

Mets ce code :
Code:
Sub Transfert()
Dim msg, title, Response As String
Dim style  As Integer
Application.ScreenUpdating = False
msg = "Voulez-vous Transférer les données"
style = vbYesNo + vbCritical + vbDefaultButton2
title = "Transfert des données"
Response = MsgBox(msg, style, title)
If Response = vbYes Then
Call[COLOR="Blue"]"Le nom de ta macro"[/COLOR] 'Choix de Oui.
End If
Application.ScreenUpdating = True
End Sub

Le nom de ta macro que tu exécutes avec le bouton doit être placé là où j'ai mis "le nom de ta macro" en bleu (enlève les guillemets).

si pb n'hésite pas
 

maelys

XLDnaute Junior
Re : efface lignes

coucou
j ai essaye la deuxieme version de sub supp et je ne comprends pas car ca ne fonctionne, je viens d essayer aussi celui de tranfert mais il ne reconnait pas le nom de ma macro qui doit etre clic(j)
je crois que je suis maudite par les ordinateurs...
merci par avance de me debugger encore
 

Hellboy

XLDnaute Accro
Re : efface lignes

re a tous

Une chose a la fois maelys. Est-ce que tu réussi a supprimer les lignes avec ce code. Si oui, prochaine chose, si non, ou est-ce que ça plante. Pour le débug, c'est asser important a savoir. !

Public Sub Supprimer_ligne()
Dim intLastRow As Integer, intLastColumn As Integer, intLine As Integer

' Ici je prend la feuille 1 comme exemple
With Worksheets(1)
With .Cells.SpecialCells(xlLastCell)
intLastRow = .Row
intLastColumn = .Column
End With
' Ici je suppose que La colonne 1 (A) est la première colonne et
' que la ligne 2 est la première ligne de données
' Il est préférable de partir de la ligne du bas pour la suppression de ligne
' parce que le contraire va faire en sorte que tu vas manquer une ligne
' a chaque fois que tu va en supprimer une
For intLine = intLastRow To 2 Step -1
' Au lieu de regarder chaque cellule de la plage, je compte ne nombre de cellules vide
' qui servira de crit`re pour savoir si on supprime la ligne ou pas

If Application.WorksheetFunction.CountBlank(.Range(.Cells(intLine, 1), .Cells(intLine, intLastColumn))) > 0 Then
Rows(intLine).Delete
EndIf
Next intLine
End With
End Sub
 

informatixo

XLDnaute Occasionnel
Re : efface lignes

Bonjour à tout le monde,

Je te propose le classeur joint où j'ai rectifié les lignes qui n'allaient pas (ce coup-ci il fonctionne lol).

En feuille 1 tu trouveras un bouton de commande, si tu cliques dessus tu verras que la suppression fonctionne.

Le code se trouve dans l'évènement clic du bouton dans l'éditeur de script VBA.

Je n'ai pas eu le temps de peaufiner les détails alors désolé.

Au cas où les codes que t'ont gentiment proposé Hellboy et Dan ne te conviendrait pas.

Je l'ai fais pour tester mes lignes donc je le mets.

A plus
 

Pièces jointes

  • Effacer ligne v1.xls
    35.5 KB · Affichages: 109

Dan

XLDnaute Barbatruc
Re : efface lignes

Bonjour,

Réponse à Informatixo
Dan crois-tu que l'utilisation du "vbCritical" pour une demande de confirmation soit nécessaire ? C'est pour celà que j'avais mis vbInfomation
Quand penses-tu ?

Ok pour vbinformation si cela doit rester une info.
De mon coté, je n'avais pas vu que tu avais posté puisque l'on s'est croisé sur les réponses. Mais c'est pas grave pour le fonctionnement.

Bon Maelys est contente et c'est le principal.

Bonne journée à tous.
 

informatixo

XLDnaute Occasionnel
Re : efface lignes

Tout à fais de ton avis Dan, le principal c'est qu'elle est une réponse.

Moi aussi je me suis aperçu après avoir posté, je crois que j'ai des soucis de rafraîchissement.

Ca me donne l'impression que le site ne rafraîchit pas tout seul (bizarre, vous avez dit bizarre).

A plus sur d'autres fils j'espère

PS : waouh super, une panthère rose sous MAC ! :D -> cool
 

Discussions similaires

Réponses
4
Affichages
222
Réponses
2
Affichages
196

Statistiques des forums

Discussions
312 727
Messages
2 091 396
Membres
104 908
dernier inscrit
raf00R