suppression de ligne par une condition

Duplessis

XLDnaute Nouveau
Bonjour à tous,

Je vous présente mon problème. J'ai deux tableaux. L'un sert de tableau de référence (tabl n°1) et l'autre doit servir pour mon chef (planif).
Certaines données de tabl n°1 sont nécessaires pour remplir le tableau planif.
Il s'agit à la base d'un tableau servant à gérer les produits bloqués (je suis resp qlité).
J'aimerai que lorsque la condition "tri terminé" apparaît dans le tableau n°1 (colonne q)que la ligne qui est automatiquement renseignée dans le tableau planif soit supprimée, de façon à garder uniquement les en-cours.
Je vous joins un fichier
Je vous remercie d'avance pour votre prompte réponse.

Le top du top serait d'avoir un bouton "mise à jour" inséré dans le tableau n°1 permettant de faire ce qui est demandé plus haut
AD
 

Pièces jointes

  • Sauvegarde TPB.xls
    46 KB · Affichages: 69
  • Sauvegarde TPB.xls
    46 KB · Affichages: 74
  • Sauvegarde TPB.xls
    46 KB · Affichages: 76
G

Guest

Guest
Re : suppression de ligne par une condition

bonsoir Duplessi,

J'ai regardé ton fichier et une question sur ta question se pose.

si on supprime la ligne correspondante (Ref= N°OF?) de Planif lorsque la cellule de la colonne Q de Tableau 1 devient 'Supprimé', à quoi pourrait servir un bouton de mise à jour?

Soit on opère la suppression sur changement de valeur de la colonne Q soit on fait toutes les suppressions ensembles lorsque qu'on click sur le sus-dit bouton?

que préfères-tu?

A te lire
 

Cousinhub

XLDnaute Barbatruc
Re : suppression de ligne par une condition

Bonsoir,
regarde le fichier joint
par un filtre élaboré, on extrait vers la planif les lignes ne comportant pas "tri terminé"
la formule en en colonne U
Les en-têtes dans la feuille planif doivent être exactement les mêmes que dans la feuille tabl n°1

Nota : il y a un espace après planif dans le nom de l'onglet, mef
 

Pièces jointes

  • Sauvegarde TPB_v1.zip
    19 KB · Affichages: 29
Dernière édition:

Duplessis

XLDnaute Nouveau
Re : suppression de ligne par une condition

Pour faire plus simple, j'aimerai que dans le tableau intitulé "planif" que lorsque dans la colonne H apparait le champ "tri terminé" que cela supprime automatiquement la ligne.

AD

J'essaie avec cette formule, mais marche pas : If Range ("H").Formula like "= Tri terminé" Then Rows (i). Delete.
 

Pièces jointes

  • Sauvegarde TPB.xls
    46.5 KB · Affichages: 68
  • Sauvegarde TPB.xls
    46.5 KB · Affichages: 79
  • Sauvegarde TPB.xls
    46.5 KB · Affichages: 82

skoobi

XLDnaute Barbatruc
Re : suppression de ligne par une condition

Oupppsss, suis allé un peut vite....
Voici la correction:
Code:
Sub suppr()
With Sheets("planif")
    For n = .[H65536].End(xlUp).Row To 7 Step -1
        If .Range("H" & n).Value = "tri terminé" Then .Range("H" & n).EntireRow.Delete
    Next
End With
End Sub
 

Duplessis

XLDnaute Nouveau
Re : suppression de ligne par une condition

Bonsoir,
regarde le fichier joint
par un filtre élaboré, on extrait vers la planif les lignes ne comportant pas "tri terminé"
la formule en en colonne I
Les en-têtes dans la feuille planif doivent être exactement les mêmes que dans la feuille tabl n°1

Nota : il y a un espace après planif dans le nom de l'onglet, mef
Je reviens sur Ton idée de départ, c'est nickel ce que tu m'as fais là.
Par contre histoire de ne pas être trop bête j'aimerai être capable de refaire ce que tu as fais. Peux-tu me décrirer étape par étape?
La touche "go" me plaît beaucoup.
Anthony
 

Cousinhub

XLDnaute Barbatruc
Re : suppression de ligne par une condition

Re-,
ce que je t'ai proposé, c'est un filtre élaboré.
En appuyant sur le Go, tu déclenches la macro

Pour ce filtre, on prend la zone à extraire, et on la nomme "base"
Dans la zone de critères, en U3, une formule :

Code:
=Q3<>"tri terminé"

Cette formule renvoie VRAI, si la cellule de la colonne Q est différente de la valeur

Ensuite, on procède à l'extraction avec la zone à extraire ("base"), la zone de critères (U2:U3), et la zone d'extraction dans la feuille ("Planif "), de A6 à G6, soit les en-têtes
Toutes les anciennes données sont effacées sous la zone d'extraction, et on remplace par les données qui répondent à VRAI au filtre
Ainsi, tu n'as que les donnée "non terminé" ou "en cours", ou......

Le code :

Code:
Sub termine()
With Sheets("tabl n°1")
    .Range("A2:R" & .[A65000].End(xlUp).Row).Name = "base"
End With
With Sheets("planif ")
    Range("base").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Sheets( _
        "tabl n°1").Range("U2:U3"), CopyToRange:=.Range("A6:G6"), Unique:=False
End With
End Sub
 

Duplessis

XLDnaute Nouveau
Re : suppression de ligne par une condition

Bonjour à tous et franchement merci pour votre aide. Quelqu'un pourrait se pencher sur le fichier de bhbh svp. Pour le filtre élaboré et la formule, çà c'est ok. J'ai plus de mal à recréer la macro.
De l'aide svp?
ad
 

Duplessis

XLDnaute Nouveau
Re : suppression de ligne par une condition

nos messages se sont croisés. Comment tu créer ce bouton "go", et deuxième question : comment tu créer ces lignes de code. C'est toi qui les tapes?
j'suis novice, c'est pour çà que mes questions sont bêtes
 

Cousinhub

XLDnaute Barbatruc
Re : suppression de ligne par une condition

Comment tu créer ce bouton "go"

Tu crées ou importes un objet (n'importe lequel, un rectangle, triangle, une image, ce que tu veux), puis clic droit/Affecter une macro
Et là, tu choisis la macro dans la boîte de dialogue

comment tu créer ces lignes de code. C'est toi qui les tapes?

évidemment que non, du moins pas en totalité....
L'enregistreur de macro le fait bien mieux que moi, avec les erreurs de syntaxe en moins.....:D
Ensuite, il faut adapter, modifier, éviter les .Select qui servent rarement, écrémer, bref, l'améliorer
Commence par l'utiliser, Outils/Macro/Nouvelle Macro
Donne un nom
Tout ce que tu fais est enregistré
Puis tu stoppes l'enregistrement, soit par la nouvelle barre d'outils "Arrêter l'enregistrement", soit par Outils/Macro/Arrêter l'enregistrement, et regarde le code

Pour ce qui est de mon code, précise le point bloquant, tu n'as normalement pas besoin de le retaper
 

Duplessis

XLDnaute Nouveau
Re : suppression de ligne par une condition

bonjour bhbh,

Ecoutes je reviens sur ce sujet car je comprends tj pas.

Tu commences par créer un filtre élaboré avant de créer ta macro.

Voici ce que je fais.
Je commence par séléctionner la plage de données (les colonnes qui m'intéressent de tabl n°1). ici j'ai vu que tu renommais le tableau "base". Comment tu fais?
Ensuite je séléctionne ma zone de critère ( formule =Q3<>"tri terminé")
Ensuite je séléctionne la destination (uniquement les champs A6:G6)dude la feuille planif
mais quand je lance le filtre, il me met "plage non valide"
Au secours

Ah oui, j'ai vu également que tu avais 2 macros. Pourquoi deux?
 

Cousinhub

XLDnaute Barbatruc
Re : suppression de ligne par une condition

Bonjour,
la deuxième macro, c'est juste que j'ai oublié de faire le ménage.
Comme je te le disais, l'enregistreur de macro fait très bien le boulot, et pour éviter les erreurs de syntaxe, je m'en sers pour le code final.Elle ne sert à rien.

La création de la "plage" est faite par cette instruction :

Code:
With Sheets("tabl n°1")
    .Range("A2:R" & .[A65000].End(xlUp).Row).Name = "base"
End With

Dans la feuille ("tabl n°1"), je sélectionne "en virtuel", les cellule de A2 à Rxxx
xxx est le numéro de la première ligne non vide, lorsque l'on part du bas, dans la colonne A

Pour t'entraîner, tu choisis toute la base de données (dans ton exemple de A2 à R6), et tu fais Insertion/Nom/Définir
Donnes un nom : "plage"
En U3, la formule
puis tu viens sur la feuille "planif"
tu sélectionnes de A6 à G7 et tu fais Données/Filtre/Filtre élaboré
tu as alors un msg d'erreur (ou non, ça dépend). C'est pas grave.
Dans la boîte de dialogue qui s'ouvre, tu coches "Copier vers un autre emplacement"
Puis tu cliques dans "Plages" et tu fais F3 (la liste des noms de ton classeur apparaît)
tu sélectionnes "plage"
tu cliques dans critères, puis tu viens sélectionner les deux cellules de la feuille ("tabl n°1") U2:U3
et enfin, tu cliques dans "Copier dans", et tu sélectionnes A6 à G6

Attention, il faut que tous les titres soient les mêmes.
Tu peux en avoir moins dans ta zone de destination, mais ils faut qu'ils soient rigoureusement identiques
Bon essai
 
Dernière édition:

Duplessis

XLDnaute Nouveau
Re : suppression de ligne par une condition

ok tu m'expliques pour le filtre élaboré, çà ok j'ai compris. Merci à toi.
Concernant la macro, tu fais comment? expliques moi étapes par étapes stp
En fait, la macro te sert à quoi exactement?
 

Discussions similaires

Statistiques des forums

Discussions
312 668
Messages
2 090 739
Membres
104 643
dernier inscrit
adriano22