supprimer une ligne

  • Initiateur de la discussion Emmanuel
  • Date de début
E

Emmanuel

Guest
Bonjour le forum

un petit renseignement,
malgrès tout les posts qui traite de la suppression d'une ligne, quelle soit vide et autre, je n'ai pas réussi a adapter un code(que je suis nul, mais j'essaye d'apprendre)

la plage de travail se situe entre "A18:F44"
dans la colonne C;E;F nous avons une formule
donc les autres c'est de la saisie qui sont remplis via un userform

j'aimerai pouvoir supprimer le dernière ligne en cas d'erreur de saisie,avec un commandbutton.
à savoir que la colonne B n'est pas toujours remplis contrairement au autre
j'avais essayé ceci
Sheets("feuil1").Cells(44, 1).End(xlUp).ClearContents
+ code idem avec 2 et 4
le problème ait que, si la cellule de la colonne "B" est vide, il va me supprimer une donnée au dessus.

Si quelqu'un peut me renseigner cela sera avec grand plaisir
ou me diriger vers un post

bonne journée
Emmanuel
 
M

michel

Guest
Bonjour Emmanuel

Dans ton message j'ai interprété que tu souhaites supprimer les cellules dans la derniere ligne active , Pour les colonne A , B et D


Peux tu essayer la procedure ci dessous

Sub test
Val=Sheets("feuil1").Cells(44, 1).End(xlUp).row
range.("A"&val).ClearContents
range.("B"&val).ClearContents
range.("D"&val).ClearContents
end sub

j'espere que cela te conviendra . merci de me prévenir si ce n'est pas ça car je n'ai pas bien compris si tu voulais supprimer la ligne entière ou seulement les si cellules de saisie

Bonne journée
Michel 'bugbunny;o)
 
M

Man

Guest
Bonjour Emmanuel,

Je te propose une solution, mais je ne sais pas comment supprimer les valeurs sans supprimer les formules.
Aussi, tu peux apprendre en utilisant l'enregistrement des macros.

Sub Vider()

Dim ligne As Integer
Dim feuille As String
feuille = InputBox("entrer le nom de la feuille")
ligne = InputBox("entrer le numéro de la ligne")
Sheets(feuille).Activate
'tu peux faire une boucle ici
Cells(ligne, "B").Select
Selection.ClearContents
Cells(ligne, "D").Select
Selection.ClearContents
Cells(ligne, "E").Select
Selection.ClearContents

End Sub

Bon courage, bonne journée.
Man.
 
A

Anne

Guest
Bonjour Emmanuel,

Voilà ce je proposerais :

Sub essai()
Dim vDernLig As Integer

vDernLig = Application.WorksheetFunction.Max( _
Range("a44").End(xlUp).Row, _
Range("b44").End(xlUp).Row, _
Range("d44").End(xlUp).Row)

Union(Cells(vDernLig, 1), Cells(vDernLig, 2), Cells(vDernLig, 4)).ClearContents

End Sub
 
E

Emmanuel

Guest
bonjour Michel, Man et Anne

Merci beaucoup pour toute vos solutions
je les essayes et je vous tiens courant de mes essais

Bonne journée
@+emmanuel

ps: pour répondre à Michel c'est juste les cellules de saisi que je souhaite supprimer.
 
E

Emmanuel

Guest
Re bonjours Michel, Man et Anne

j'ai fini mes essais et la solution de Anne fut pour moi la meilleur, mais par contre celle de man est intéressante pour le choix de la ligne.
Par contre je n'ai pas réussi a faire fonctionner la solution de Michel
erreur de compilation: Val=Sheets("feuil1").Cells(44, 1).End(xlUp).row

Merci pour tout vos renseignement.


Re bonjours Michel, Man et Anne


A+ Emmanuel
 

Discussions similaires

Réponses
2
Affichages
366

Statistiques des forums

Discussions
311 735
Messages
2 082 024
Membres
101 873
dernier inscrit
excellllll