Supprimer ligne si case vide

Bonjour à tous,

J'ai essayer de cherche un tuto sur le net et ici mais comme je sais pas comment cela s'appelle j'ai pu passé à coté.

Je souhaiterai dans mon tableur de recette que si ma quantité (colone C) est vide la ligne se supprime une fois que j'ai cliquez sur un bouton (pour évitez que ca me le face directement que je choisisse a quel moment je le fait).

Sachant que je maîtrise pas les VBA, j'espère que je demande pas la lune.

Merci d'avance a ceux qui répondrons.

Bonjour

ci-joint un test à voir

crdlt,

André

Merci c'est tout a fait alors j'ai vu qui a un truc dans la maccros (alt + f11) faut je copie ca sur toute mes feuilles je présume?

et pour mettre un bouton?

Car quand tu verra mon tableau tu comprendra que j'ai pas tout envie de retaper et surtout j'aimerai apprendre a faire.

15cr.xlsx (212.41 Ko)

Cela ne doit juste pas se faire à l'onglet CR

Bonjour toutes et tous,

ci-joint avec les feuilles, Brioche, croissant ...

1 bouton sur chaque feuille (1 bouton qui exécutera le code de suppression si la colonne est vide et qui fera appel ensuite à l'autre macro Private qui supprimera la colonne comportant des 0

  • chaque bouton de la feuille est bien identifié par son nom, le code est à placer sur chaque feuille
  • le prix en J1 etc. =SOMME(H4:H65356) c'est préférable de mettre sur la colonne entière

Note: pour l'instant on cliquera plusieurs fois sur le bouton afin d'avoir le résultat escompté (car, il faudra effectuer une boucle)j'ai un peu de mal à faire une boucle désolé

NOTE : Enregistre ton classeur en extension .xlsm (Classeur en acceptant les macros)

un aperçu ci-joint

crdlt,

André

18cr-test003.xlsm (245.72 Ko)

Merci je vais voir tout ca. Car je susi entrain de moderniser mes tableur enfin j'essaye

Re,

j'ai pensé à faire ceci pour répéter x fois la macro afin de supprimer lignes vide (0 ou "")

à faire pour les autres feuilles

Exemple : pour l'onglet Paris Brest sur le Worksheet de la feuille

 Option Explicit
 ' Déclaration des variables
Dim c As Object
Dim d As Object

' Paris Brest
Sub DELParisBrest()
Dim Compteur As Long
For Compteur = 1 To 6
Next Compteur
DELParisBrest1           ' appel procédure de la seconde macro 
End Sub

Sub DELParisBrest1()
On Error GoTo plouf

For Each c In Sheets("Paris Brest").Range("c4:c" & Range("c65356").End(xlUp).Row)
 If c = "" Then c.EntireRow.Delete
Next c

For Each d In Sheets("Paris Brest").Range("c4:c" & Range("c65356").End(xlUp).Row)
If d = "0" Then d.EntireRow.Delete
Next d

plouf:
Exit Sub
End Sub

On Error GoTo plouf : coucou André, t'es un adepte de la plongée sous-marine ? ou c'est juste que tu veux tenter de battre le record de Jacques Mayol (alias Jean-Marc Barr) ? t'inquiètes pas, c'est juste une blague : ta ligne de code est quand même correcte, et en cas d'erreur d'exécution, il y aura bien un branchement à l'étiquette plouf ! voici maint'nant une question métaphysique très difficile à résoudre : est-ce que mon humour m'a fait gagner un bon gâteau Paris-Brest ?

miam

dhany

dhany il faudra venir dans notre futur boulangerie, pour cela que tout vas te donner l'eau a la bouche j'essaye de faire des tableau automatisé pour mes cout de reviens et stock mais j'ai encore beaucoup à apprendre surtout avec le maccro.

Andre, merci de ta réponse. Il faut remplacer l'autre maccro qui correspond a la paris brest c'est cela? Si tels est le cas je n'arrive pas.

Pourrais tu comment deja tu as fait pour la 1e étape car je dois la réalisé sur un nouveau tableur :S

Merci beaucoup

Bonjour

@Dhany miam miam le Paris Brest

@Carousse, sélectionne ton onglet de ta feuille copie-l'exemple du post ci-dessus sur le bloc-note

et modifie voir image

- ensuite tu créé un bouton sur chaque feuille et tu lui affecte sa macro

crdlt,

André

ztest222
5cr-test004.xlsm (228.45 Ko)

Bon alors je test ce que je comprend. Mais j'ai du faire un truc qui vas pas ^^'

Et autre question si j'appui sur le bouton et ça m’enlève les ligne, puis-je tout d même revenir en arrière?

Merci d'avance pour votre aide

9test.xlsm (33.38 Ko)

Re,

-tu fais appel a la seconde macro qui porte le même nom que la première ce qui ne fonctionnera pas

regarde remplace ton code par celui-ci et effectue un autre test.

-Pour ta seconde question, une fois supprimer tu ne pas retourner en arrière en ma connaissance

crdlt,

André

Option Explicit
 ' Déclaration des variables
Dim c As Object
Dim d As Object
'----------
' test
                                                           '  je suis la PREMIÈRE macro
Sub DELtest()   
Dim Compteur As Long
For Compteur = 1 To 6
Next Compteur
SUPtest                                             ' je fais appel à la SECONDE macro qui s'appelle   SUPtest
End Sub

' -----------
                                           '  je suis la SECONDE macro
Sub SUPtest()        
On Error GoTo plouf

For Each c In Sheets("test").Range("c4:c" & Range("c65356").End(xlUp).Row)
 If c = "" Then c.EntireRow.Delete
Next c

For Each d In Sheets("test").Range("c4:c" & Range("c65356").End(xlUp).Row)
If d = "0" Then d.EntireRow.Delete
Next d

plouf:
Exit Sub
End Sub
7test.xlsm (35.69 Ko)

ok je vois jusque la ça marche, je pense avoir compris. Merci beaucoup

J'en ai encore des, pourquoi si je rajoute sur ma dernière ligne un ingrédients, j'appuie sur mon bouton cela me supprime pas la dernière ligne en question?

Et si je fait le tout sur des feuilles que je nomme A, B, C pour préparer tout un tableur pour que je n'ai plus qu'a rentrer derrière mes donné mais je change le nom de la feuille, il faut que je change dans la macro ou cela sera automatique?

Merci

Re,

pour l a seconde question, le nom d'onglet de ta feuille du classeur ....Sheets("test"). tu changes les 2 test par A ce qui donne : Sheets("A")

(voir image)

pour la première question, change 'For Compteur = 1 To 6' par For Compteur = 1 To 8

crdlt,

André

zteste

Merci à tous

Rechercher des sujets similaires à "supprimer ligne case vide"