Suppressions données
Cabrina
Messages postés
273
Statut
Membre
-
yg_be Messages postés 24281 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 24281 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je voudrais savoir s’il y a un moyen de supprimer les références qu’il y a dans mes lignes 2 et 3 (à partir de ma colonne G)
Il faudrait que j’arrive à les supprimer dans ma colonne A.
Sachant que je peux en avoir plus que ce qu’il y a actuellement et qu’il me faut pas que cela me mettre une erreur s’il n’y a rien.
Ci joint mon fichier:
https://www.cjoint.com/c/GBioBvr0oGi
Merci d'avance
Je voudrais savoir s’il y a un moyen de supprimer les références qu’il y a dans mes lignes 2 et 3 (à partir de ma colonne G)
Il faudrait que j’arrive à les supprimer dans ma colonne A.
Sachant que je peux en avoir plus que ce qu’il y a actuellement et qu’il me faut pas que cela me mettre une erreur s’il n’y a rien.
Ci joint mon fichier:
https://www.cjoint.com/c/GBioBvr0oGi
Merci d'avance
A voir également:
- Suppressions données
- Fuite données maif - Guide
- Trier des données excel - Guide
- Supprimer les données de navigation - Guide
- Sauvegarde des données - Guide
- Données personnelles - Accueil - Windows
2 réponses
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
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
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
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
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.
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
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