Suppressions données
Fermé
Cabrina
Messages postés
248
Date d'inscription
samedi 5 avril 2008
Statut
Membre
Dernière intervention
13 mars 2024
-
8 févr. 2017 à 15:27
yg_be Messages postés 23342 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 21 novembre 2024 - 10 févr. 2017 à 17:29
yg_be Messages postés 23342 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 21 novembre 2024 - 10 févr. 2017 à 17:29
A voir également:
- Suppressions données
- Reinstaller windows sans perte de données - Guide
- Effacer les données de navigation - Guide
- Comment sauvegarder toutes les données de mon téléphone - Guide
- Excel validation des données liste - Guide
- Service de diffusion de données - Forum TNT / Satellite / Réception
2 réponses
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
Ambassadeur
1 550
8 févr. 2017 à 19:50
8 févr. 2017 à 19:50
bonsoir, tu veux supprimer les lignes dont le contenu de la colonne 1 est identique à la valeur d'une des cellules du rectangle dont le coin supérieur gauche est en G2?
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
Ambassadeur
1 550
8 févr. 2017 à 22:07
8 févr. 2017 à 22:07
je propose ceci:
Option Explicit Sub eliminate() Dim nlig As Long, ncol As Long Dim elim As Scripting.Dictionary Set elim = New Scripting.Dictionary nlig = 2 Do While Cells(nlig, 7) <> "" ncol = 7 Do While Cells(nlig, ncol) <> "" Call elim.Add(Cells(nlig, ncol).Value, "") ncol = ncol + 1 Loop nlig = nlig + 1 Loop nlig = 5 Do While Cells(nlig, 1) <> "" If elim.Exists(Cells(nlig, 1).Value) Then Rows(nlig).EntireRow.Delete Else nlig = nlig + 1 End If Loop End Sub
Cabrina
Messages postés
248
Date d'inscription
samedi 5 avril 2008
Statut
Membre
Dernière intervention
13 mars 2024
6
9 févr. 2017 à 12:42
9 févr. 2017 à 12:42
Bonjour,
J'ai fait la macro comme indiqué ci-dessus mais quand je veux l'activer j'ai :
Qui se met en jaune et :
Qui se surligne également.
J'ai également une petite question car j'aurai cette "procédure" à faire sur plusieurs onglets d'un même fichier, je ne vois pas le nom de l'onglet ? Comment la macro sait ou aller supprimer ?
Merci pour votre aide.
J'ai fait la macro comme indiqué ci-dessus mais quand je veux l'activer j'ai :
Sub eliminate()
Qui se met en jaune et :
elim As Scripting.Dictionary
Qui se surligne également.
J'ai également une petite question car j'aurai cette "procédure" à faire sur plusieurs onglets d'un même fichier, je ne vois pas le nom de l'onglet ? Comment la macro sait ou aller supprimer ?
Merci pour votre aide.
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
1 550
9 févr. 2017 à 19:19
9 févr. 2017 à 19:19
Pour éviter l'erreur, il faut, dans l'utilitaire VBA (celui qui te montre l'erreur en jaune), dans le menu outils, choix references, cocher "microsoft scripting runtime".
En ce qui concerne le nom de l'onglet, voici une macro améliorée où tu peux contrôler le nom de l'onglet:
En ce qui concerne le nom de l'onglet, voici une macro améliorée où tu peux contrôler le nom de l'onglet:
Option Explicit Sub eliminate() Dim rectangle As Range Dim nlig As Long, ncol As Long Dim wk As Worksheet Dim elim As Scripting.Dictionary Set elim = New Scripting.Dictionary Set wk = ThisWorkbook.Sheets("IP sur OF composants") nlig = 2 Do While wk.Cells(nlig, 7) <> "" ncol = 7 Do While wk.Cells(nlig, ncol) <> "" Call elim.Add(wk.Cells(nlig, ncol).Value, "") ncol = ncol + 1 Loop nlig = nlig + 1 Loop nlig = 5 Do While wk.Cells(nlig, 1) <> "" If elim.Exists(wk.Cells(nlig, 1).Value) Then wk.Rows(nlig).EntireRow.Delete Else nlig = nlig + 1 End If Loop End Sub
Cabrina
Messages postés
248
Date d'inscription
samedi 5 avril 2008
Statut
Membre
Dernière intervention
13 mars 2024
6
>
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
10 févr. 2017 à 14:25
10 févr. 2017 à 14:25
Ca fonctionne... Merci beaucoup
Juste pour mon information personnel a quoi sert "Option Explicit" ?
Juste pour mon information personnel a quoi sert "Option Explicit" ?
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
1 550
>
Cabrina
Messages postés
248
Date d'inscription
samedi 5 avril 2008
Statut
Membre
Dernière intervention
13 mars 2024
10 févr. 2017 à 17:29
10 févr. 2017 à 17:29
cela sert à forcer la déclaration des variables (via
je remarque que la variable rectangle n'est pas utilisée, tu peux supprimer la ligne qui la déclare.
Dim).
je remarque que la variable rectangle n'est pas utilisée, tu peux supprimer la ligne qui la déclare.
8 févr. 2017 à 20:36
En fait c'est les références qui commence en M... que je veux supprimé de ma liste qui se trouve n colonne A