Présence valeur et suppression ligne
Résolu/Fermé
A voir également:
- Présence valeur et suppression ligne
- Forcer suppression fichier - Guide
- Aller à la ligne excel - Guide
- Partager photos en ligne - Guide
- Vente en ligne particulier - Guide
- Presence en ligne instagram - Guide
4 réponses
fabien25000
Messages postés
673
Date d'inscription
mercredi 5 octobre 2016
Statut
Membre
Dernière intervention
28 juillet 2022
59
29 sept. 2018 à 11:25
29 sept. 2018 à 11:25
Bonjour,
En gros : Il faut passer par la VBA, peut être avec un bouton pour déclencher l'événement
"Le nombre de valeurs en colonne B (feuille 1) évolue
Le nombre de valeurs en colonne AH (feuille 2) évolue également "
ou quand comment par qui?
En gros : Il faut passer par la VBA, peut être avec un bouton pour déclencher l'événement
"Le nombre de valeurs en colonne B (feuille 1) évolue
Le nombre de valeurs en colonne AH (feuille 2) évolue également "
ou quand comment par qui?
via55
Messages postés
14509
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
2 janvier 2025
2 739
29 sept. 2018 à 14:05
29 sept. 2018 à 14:05
Bonjour Didier
Code VBA à mettre dans un module :
ALT+F11 pour ouvrir éditeur VBA - Insertion - Module - copier-coller la macro dans la page blanche et fermer l'éditeur
Lancer la macro ensuite depuis la feuille 1 onglet Développeur - Macros
ou insérer un bouton sur la feuille 1 et dans le code du bouton mettre le nom de la macro, comme suggère Fabien
Cdlmnt
Via
Code VBA à mettre dans un module :
ALT+F11 pour ouvrir éditeur VBA - Insertion - Module - copier-coller la macro dans la page blanche et fermer l'éditeur
Sub suppression() Application.ScreenUpdating = False ' desactive rafraichissement écran Dim Ligne As Long Ligne = Sheets("Feuil1").Columns(2).Find("*", , , , xlByColumns, xlPrevious).Row 'dernière ligne remplie For n = Ligne To 2 Step -1 'boucle sur lignes de la dernière en remontant à la 2eme existe = Application.WorksheetFunction.CountIf(Sheets("Feuil2").Range("AH:AH"), Sheets("Feuil1").Range("B" & n)) 'NB.SI valeur en B Feuil1 dans AH Feuil2 If existe = 0 Then Rows(n & ":" & n).Select: Selection.Delete 'effacement ligne si n'existe pas en Feuil 2 Next Application.ScreenUpdating = True ' active rafraichissement écran End Sub
Lancer la macro ensuite depuis la feuille 1 onglet Développeur - Macros
ou insérer un bouton sur la feuille 1 et dans le code du bouton mettre le nom de la macro, comme suggère Fabien
Cdlmnt
Via
fabien25000
Messages postés
673
Date d'inscription
mercredi 5 octobre 2016
Statut
Membre
Dernière intervention
28 juillet 2022
59
Modifié le 29 sept. 2018 à 14:53
Modifié le 29 sept. 2018 à 14:53
voila un code à affecter à un bouton, un raccourci clavier ou ce qui te conviendra le mieux
edit : Via a été plus rapide; sa méthode étant différente je propose la mienne (que j'ai appris de cs_Le pivert si ma mémoire est bonne) pour ceux qui feraient des recherches pour un besoin similaire
Sub Bouton1_Cliquer() Dim I, DerLig As Long Dim Trouve As Range, PlageDeRecherche As Range Dim Valeur_Cherchee As String, AdresseTrouvee As String Application.ScreenUpdating = False DerLig = Worksheets("feuille 1").Range("B" & Rows.Count).End(xlUp).Row For I = 2 To DerLig If (Worksheets("feuille 1").Range("B" & I) <> "") Then ' affectation de valeurs aux variables : Valeur_Cherchee = Worksheets("feuille 1").Range("B" & I) ' dans la première colonne de la feuille active Set PlageDeRecherche = Worksheets("Feuille 2").Range("AH2:AH" & DerLig) ' méthode find, ici on cherche la valeur exacte (LookAt:=xlWhole) Set Trouve = PlageDeRecherche.Cells.Find(what:=Valeur_Cherchee, LookAt:=xlPart) ' traitement de l'erreur possible : Si on ne trouve rien : If Trouve Is Nothing Then Rows(I).Delete shift:=xlUp ' vidage des variables Set PlageDeRecherche = Nothing Set Trouve = Nothing End If Next I Application.ScreenUpdating = True End Sub
edit : Via a été plus rapide; sa méthode étant différente je propose la mienne (que j'ai appris de cs_Le pivert si ma mémoire est bonne) pour ceux qui feraient des recherches pour un besoin similaire
29 sept. 2018 à 12:18
Ce que je voulais dire c'est que le nombre de lignes est une variable pour chaque feuille et pas un nombre constant.
Chaque jour des dossiers sont soldés et d'autres sont créés