Supprimer lignes vides automatiquement excel [Résolu/Fermé]

Messages postés
16
Date d'inscription
dimanche 9 novembre 2008
Statut
Membre
Dernière intervention
11 novembre 2008
- - Dernière réponse :  stephlachips - 15 août 2016 à 17:33
Bonjour a tous

voila j'ai bien cherché sur le forum mais je n'ai pas trouver les réponses à mes questions:

Première question:

je m'explique:

j'ai un fichier excel en 3 feuilles

la premiere est "le réapprovisionnement"

il y a tous les produits et en fonction de la quantité rentrée, il y a une case qui me dit si je dois "commander" ou si mon stock est "correct".

la deuxieme est une sorte de base de donnée

il y a :
-le nom du produit
-sa référence
-son prix

la troisieme est le bon de commande

lorsqu' un produit est à commander (dans la première feuille) via la "fonction si" le nom, la réf, et le prix apparaissent dans le bon de commande (troisième feuille) mais lorsque le stock est correct cela me laisse une ligne vide.

je voudrais avoir une formule pour que dans mon bon de commande n'apparaissent que les lignes "à commander".

pour info; c'est a partir de la ligne 23 et de la colonne A à H que ma liste de produits à commander apparrait.


merci à tous



Ensuite ma deuxième question est;

lorsque mon bon de commande est rempli et vider de ses lignes vides.

j'aimerais via une case "envoyer" (une cellule) de la troisième feuille envoyer mon bon de commande (donc juste la troisième feuille) à mon fournisseur.

quelle est la démarche?

Encore merci de vos renseignements et aides

vincent
Afficher la suite 

20 réponses

Meilleure réponse
Messages postés
16932
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
10 septembre 2019
3584
11
Merci
Salut,

Testes cette macro

Sub EnleverLignesVides()
Dim p As Range, i As Long
Set p = Application.InputBox(Prompt:="Sélectionnez une plage", _
Title:=" Supprimer lignes vides", Type:=8)
With p
For i = .Rows.Count To 1 Step -1
If Application.CountA(.Rows(i)) = 0 Then _
.Rows(i).EntireRow.Delete 'ICI
Next i
End With
End Sub

A demain bonne nuit

Dire « Merci » 11

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60105 internautes nous ont dit merci ce mois-ci

Messages postés
16932
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
10 septembre 2019
3584
5
Merci
Salut,

fais un clic droit sur l'onglet de ta feuille, ce qui va ouvrir une feuille macro et tu fais édition/insérer/un module.

Dans ce module tu colles le code que je t'ai posté sur le post 1

ensuite tu crée un bouton sur ta feuille de calcul à partir de la barre Formulaire (affichage/barre d'outils et coche formulaire)
ensuite clic droit sir le bouton et affecter à une macro

cette macro supprime toutes lignes vides

A+
Messages postés
15912
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
9 septembre 2019
2791
2
Merci
Bonjour tout le monde

Pour supprimer les lignes où la valeur est nulle entre A23 et A200

Sub supprimer_lignes()
Range("A23:A200").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

Ca a marché pour moi ! c'Est genial merci!
Messages postés
16932
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
10 septembre 2019
3584
2
Merci
Salut,

Envoi de fichier volumineux

La solution consiste à utiliser un service d'hébergement temporaire de fichiers et à transmettre le lien par mail.
Plusieurs services de ce type existent :
• neobeBox
• YouSendIt
• NextSend
• MailBigFile
• Free
• RapidShare
• Abigmail
• Volumeek
• Send-Large-File
• MediaFire
• JoinToMail

Pour envoyer un fichier volumineux avec free, même si free n'est pas notre hébergeur

Si l'on souhaite envoyer plusieurs fichiers en même temps créer un dossier dans lequel sera déposé vos fichiers
clic droit sur le fichier envoyer vers dossier compressé
Un fichier Zip va être créé

1/ si il s'agit que d'un seul dossier ou d'un fichier Zip
2/ Lancer free et cliquer sur envoi de gros fichiers
3 Fichier à envoyer faire parcourir et sélectionner le fichier ZIP ou le fichier à envoyer
4/ Me notifier du lien par email saisir son adresse mail afin que free te notifie du lien
5/ si tu veux protéger ton fichier saisie un mot de passe
6/ envoyer
Tu recevras de free un mail te donnant l’adresse pour récupérer ton envoi et éventuellement le supprimer après réception de l’envoi.
Il ne suffit plus que d’envoyer a tes correspondants l’adresse du lien et le mot de passe pour y accéder si tu en a saisie un.
L’intérêt de cette méthode est de ne pas être obligé de réduite la taille d'un fichier ou la définition de photos par exemple et la démarche est anonyme

A+
Messages postés
16
Date d'inscription
dimanche 9 novembre 2008
Statut
Membre
Dernière intervention
11 novembre 2008
10
2
Merci
merci a tous j'ai réussi

vincent
Messages postés
16
Date d'inscription
dimanche 9 novembre 2008
Statut
Membre
Dernière intervention
11 novembre 2008
10
1
Merci
merci de votre réponse

mais je n'y connait pas grand chose en excel je vois ce qu'est une macro

je copie et je colle directement ce que vous m'avez écrit ou dois-je modifier quelque chose ?

merci encore
Messages postés
8713
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
27 janvier 2014
980
1
Merci
Evidement que ça change.
Dans la barre d'outils >> Dévelopeur >>insérer >> dans le contrôles ActiveX >> choisir le bouton.
Tu va avoir CommanButton1
Double clic dessus et revient à mon poste précédant pour avoir
Private Sub CommandButton1_Click()
    EnleverLignesVides
End Sub

Tu dit...
EDIT:
Et ça fonctionne aussi sur 2007.
merci pour ta macro qui va m'économiser bien des heures.
Messages postés
16
Date d'inscription
dimanche 9 novembre 2008
Statut
Membre
Dernière intervention
11 novembre 2008
10
0
Merci
si cela peut vous aidez;

la cellule vide indicatrice de la suppression de la ligne entière est dans la colonne A.

sachant que j'ai 200 produits mais qu'ils ne seront jamais "à commander" en meme tps.

ca va de la ligne 23 à 200 on va dire.

merci

vincent
Messages postés
16
Date d'inscription
dimanche 9 novembre 2008
Statut
Membre
Dernière intervention
11 novembre 2008
10
0
Merci
slt

j'ai bien fait comme tu ma dis

j'ai copier coller la macro que tu m'as donné dans le post 1

j'ai creer un bouton "bouton 382" (que je voudrais renommer mais c'est pas important)

je lui ai affecter la macro mais a chaque fois que je clique dessus pour supprimer les lignes

il me demande de selection une plage (donc je selectionne de la ligne 23 à 100 de la colonne F) mais rien ne se passe.

encore merci de ton aide et de tes explications

vincent
lermite222
Messages postés
8713
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
27 janvier 2014
980 -
Bonjour,
Avec la solution proposée par Mike, tu ne doit pas taper dans l'inputBox mais faire une sélection directement sur la feuille (Comme pour un copier)
A+
vincentgui
Messages postés
16
Date d'inscription
dimanche 9 novembre 2008
Statut
Membre
Dernière intervention
11 novembre 2008
10 > lermite222
Messages postés
8713
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
27 janvier 2014
-
OUI c'est que je fais mais rien ne se passe .
Messages postés
16
Date d'inscription
dimanche 9 novembre 2008
Statut
Membre
Dernière intervention
11 novembre 2008
10
0
Merci
MERCI

j'ai essayé mais cela ne fonctionne pas

j'ai copier ta macro je l'ai attribuer a un bouton

j'ai pensé que ca fonctionnait pas peut etre parce que ma colonne A,B,C sont fusionnées a partir de la ligne 23.

dans ma feuille excel je peux utiliser la colonne qui n'est pas fusionnée mais dans ce cas il faut supprimer la ligne quand les cellules de F23 à F200 sont égales a 0.

encore merci de votre aide

désolé d'insister sur les explications que vous me donner mais je débute
Messages postés
8713
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
27 janvier 2014
980
0
Merci
Je ne comprend pas que ça ne fonctionne pas, j'ai tester avec des cellules fusionnées dans le sens colonne et dans le sens ligne et ça marche du tonnerre :-) mon avis t'a mis un bouton formulaire.
Essaye..
Tu met la barre d'outils Boite à outils Contrôles.
Tu colle un bouton
tu doubleclic sur le bouton tu va arriver dans l'événement clic du bouton.
Private Sub CommandButton1_Click()

End Sub


Tu ajoute.. pour avoir
Private Sub CommandButton1_Click()
    EnleverLignesVides
End Sub


Tu dit..
A+
Messages postés
16
Date d'inscription
dimanche 9 novembre 2008
Statut
Membre
Dernière intervention
11 novembre 2008
10
0
Merci
je suis vraiment désolé mais la je ne comprend plus rien du tout

pourrait tu me donner toute la démarche de A à Z stp car la je suis completement perdu

au fait peut vu que j'ai excel 2007 ca change qqch ?

merci encore
Messages postés
16
Date d'inscription
dimanche 9 novembre 2008
Statut
Membre
Dernière intervention
11 novembre 2008
10
0
Merci
re

alors j'ai rentrer la macro de MIKE
ensuite j'ai creer le bouton comme tu m'as indiqué

mais comment faire l'association entre ce bouton et la macro

encore merci
lermite222
Messages postés
8713
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
27 janvier 2014
980 -
tout simplement en insérant le nom de la macro comme indiquer dans mon poste précédant.
Mais quand tu aurras réussi la manip, tu peu carrément changer la macro, en prenant l'dée de Mike pour le input et la fonction de Michel_M qui est plus rationnelle, voila le résultat...

Sub EnleverLignesVides()
Dim p As Range
    Set p = Application.InputBox(Prompt:="Sélectionnez une plage", _
    Title:=" Supprimer lignes vides", Type:=8)

    p.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

Il ne faut sélectionner qu'une seule colonne mais àa peu être n'importe laquel..
Fonctionne aussi sur 2007
A+
Messages postés
16
Date d'inscription
dimanche 9 novembre 2008
Statut
Membre
Dernière intervention
11 novembre 2008
10
0
Merci
bon je n'y arrive pas

encore merci pour toutes vos explications !

vincent

pour moi cette fonction etait pas tres importante vu qu'enlever les lignes vides fonctionnait avec un filtre

j'ai un deuxieme post pour envoyer par mail mon bon de commande

voici l'adresse

http://www.commentcamarche.net/forum/affich 9347689 envoyer par mail une feuille excel?#2

merci encore a tous
Messages postés
16932
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
10 septembre 2019
3584
0
Merci
Salut,

je reviens, si tu as inséré un module dans le visual editor comme je te l'ai dis dans le post4, et que tu y a coller la totalité d'un code proposé, il y a un autre moyen pour lancer et tester une des macros proposées.

ouvres ton fichier et clic sur Alt et la touche F8 en même temps, une boite de dialogue contenant la liste de tes macros va s'ouvrir, cliques sur une macro exemple EnleverLignesVides et sur exécuter

Si tu n'y arrives pas et si ton fichier ne contient pas de notes confidentielles, tu peux le mettre sur le forum avec ce lien

http://www.cjoint.com/

pour utiliser le lien, clic dessus/parcourir, sélectionnes le fichier à envoyer, créer le lien, autoriser l'accès et colle le lien généré en haut de ta feuille sur ton prochain post.

Si le fichier est trop lourd et que le lien ne se fait pas, je te donnerai une autre astuce

A+
Messages postés
719
Date d'inscription
jeudi 17 mai 2007
Statut
Membre
Dernière intervention
3 juin 2019
57
0
Merci
Bonjour,
n'y a-t-il pas une solution permettant, plutôt que de générer des lignes vierges qu'il faut supprimer après, de ne générer que les lignes "utiles" (dans ce cas les lignes valorisées) ?

Alain
Messages postés
16932
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
10 septembre 2019
3584
0
Merci
Je pense que nous aurons le même problème de mise en application des macros.
Il serait bon que tu choisisses une action et que l'on travaille autour de ce projet bien arrêté afin de ne pas s’égarer dans les explications.
Nous sommes tous parti sur la suppression de lignes laissés vides, alors quel sujet veux tu que nous traitions jusqu’au bout avant de passer à un autre
Messages postés
719
Date d'inscription
jeudi 17 mai 2007
Statut
Membre
Dernière intervention
3 juin 2019
57
0
Merci
Re-bonjour,
je dépose un nouveau fil.

Alain
Messages postés
16
Date d'inscription
dimanche 9 novembre 2008
Statut
Membre
Dernière intervention
11 novembre 2008
10
0
Merci
BONJOUR

MERCI A TOUS POUR VOS AIDES MAIS JE VAIS VIDER LES LIGNES INUTILES SUR LE BON VIA UN FILTRE

MAINTENANT LA QUESTION EST COMMENT L'ENVOYER PAR MAIL A MON FOURNISSEUR

JUSTE LA FEUILLE "BON DE COMMANDE" DE MON CLASSEUR

SI POSSIBLE MEME QUE LE BON DE COMMANDE SOIT LE CORP DU MAIL ET NON UNE PIECE JOINTE

MERCI A TOUS

TOUTES VOS EXPLICATIONS M'ONT PERMIS TOUT DE MEME DE FAIRE UNE MACRO AVEC UN BOUTON POUR IMPRIMER MON BON DE COMMANDER.

LA PETITE CASE "ENVOYER" EST PRETE IL MANQUE PLUS QU'UNE PETITE MACRO

VINCENT
Messages postés
1
Date d'inscription
jeudi 26 décembre 2013
Statut
Membre
Dernière intervention
26 décembre 2013
0
Merci
bonjour,
J'ai bien lu les commentaires mais je n'arrive pas à programmer.
J'aimerai supprimer des lignes sans caractère en langage VBA sous openoffice.
pourriez vous m'aider?
merci
michel_m
Messages postés
15912
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
9 septembre 2019
2791 -
Le langage macro d'Open Office est Différent de celui de Microsoft Office