Suprression de lignes dans une BDD

  • Initiateur de la discussion Initiateur de la discussion Mogki
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

Mogki

Guest
Bonjour à tous,

Je suis nouveau sur ce forum et débutant sur Excel.

Je vous expose mon problème (que beaucoup d'entres vous vont trouver facile à résoudre j'en suis sûr)

J'ai une base de donnée a épurer en fonction d'une liste d'adresses mails non valides (placée dans une autre feuille).

Ma BDD à une forme (Société, prénom, nom,... email, ..) est est placée sur la feuille 1.
Mon listing d'emails non valides est en feuille 3 et ne comporte que l'email.

Ainsi je voudrais savoir comment est-ce que je peux arriver, avec une macro, à rechercher toutes mes données puis à ne supprimer que celles qui sont égales aux valeurs de mon autre feuille.

J'ai fait une ébauche de macro (qui ne fonctionne pas) si vous voulez vous marrer (preuve que j'ai essayé ... mais que je suis loin d'avoir votre niveau)🙄.

Sub suppresion()
Sheets(Feuil1!).Activate
Range("E2:E16208") = ValeurA

Sheet(Feuil3!).Activate
Range("C2:C1543") = ValeurB
Next
Then if ValeurA = ValeurB
Section.EntireRow.Delete
End Sub
 
Re : Suprression de lignes dans une BDD

Bonjour à tous les deux,

Paritec, ta macro ne fonctionne pas sur ma BDD de base (j'ai ajouté d'autres colonnes, et malgré mes modifications ça ne fonctionne pas. :/

Après modification, la forme est la suivante :
Sub supprimer()
Dim i&, aa, bb, cc, a&, n&, x
With Feuil1
aa = .Range("A2:H" & .Range("A" & Rows.Count).End(xlUp).Row)
End With
With Feuil3
bb = .Range("C1:C" & .Range("C" & Rows.Count).End(xlUp).Row)
End With
ReDim cc(1 To UBound(aa), 1 To UBound(aa, 2)): x = 1
For i = 1 To UBound(aa)
For a = 1 To UBound(bb)
If aa(i, 8) = bb(a, 1) Then GoTo 1
Next a
For n = 1 To UBound(aa, 2)
cc(x, n) = aa(i, n)
Next n
x = x + 1
1 Next i
With Feuil1
.Range("A2:H" & .Range("A" & Rows.Count).End(xlUp).Row).ClearContents
.Range("A2").Resize(UBound(cc), UBound(cc, 2)) = cc
End With
MsgBox "C'est fini", , "Traitement terminé"
End Sub

Patrice33740, je comprends que ta solution soit la plus simple, cependant, je te fais part de mon ignorance. Je ne sais pas du tout où trouver la "une formule pour détecter les mails à éliminer" 😕 . Je suis perdu devant les multiples fonctions d'excel.

Parce que si j'ai bien compris tu utilise une fonction recherche puis tu marques les valeurs dans une autre colonne et enfin tu les tri ?
En fait, c'est la fonction que tu utilises à la base que je ne connais pas ou que j'utilise mal. Utilises-tu "Recherche", "RechercheV" ou une utre fonction ? Et quelle forme prend-t-elle ?
 
Re : Suprression de lignes dans une BDD

Bonjour,

en fait Patrice33740 fait un simple test entre la colonne E en feuil1 et la colonne C en feuil3; si l'occurence est trouvée, alors ça indique vrai, sinon faux et c'est une solution simple mais efficace à mon humble avis 🙂
 
Re : Suprression de lignes dans une BDD

Re Mogki le forum
Paritec, ta macro ne fonctionne pas
j'aime beaucoup les remarques de ce genre !!! que tu ne saches pas modifier ma macro, je suis d'accord, mais ma macro fonctionne parfaitement sur le fichier que tu as fourni !!!
Que tu n'aies pas été foutu de joindre un fichier ressemblant à ton vrai fichier c'est ton problème, mais il ne faut pas raconter n'importe quoi après!!
a+
Papou🙂
 
Dernière édition:
Re : Suprression de lignes dans une BDD

Je suis désolé Paritec, je ne disais pas ça méchamment. J'ai juste dis ça maladroitement et je m'en excuse.

En effet, ta macro fonctionne parfaitement sur le fichier que tu m'as joins.
Je voulais juste dire qu'étant donné que j'implémente en continu ma BDD, quand j'ai voulu modifier la macro que tu m'as fourni, je n'y suis pas arrivé.

Je cherchais plus à comprends la logique de ta macro et à comprends qu'est-ce que je n'avais pas bien adapté à la nouvelle situation.
 
Re : Suprression de lignes dans une BDD

Bonjour,

Patrice33740, je comprends que ta solution soit la plus simple, cependant, je te fais part de mon ignorance. Je ne sais pas du tout où trouver la "une formule pour détecter les mails à éliminer" 😕 . Je suis perdu devant les multiples fonctions d'excel.

Parce que si j'ai bien compris tu utilise une fonction recherche puis tu marques les valeurs dans une autre colonne et enfin tu les tri ?
En fait, c'est la fonction que tu utilises à la base que je ne connais pas ou que j'utilise mal. Utilises-tu "Recherche", "RechercheV" ou une utre fonction ? Et quelle forme prend-t-elle ?

Tout est déjà dans le fichier joint !!!

La méthode est simple et rapide :
  1. écris une formule pour détecter les mails à éliminer , en F2 :
    =NB.SI(Feuil3!C:C;Feuil1!E2)>0
  2. double-cliques sur la poignée de recopie :
    cela "tire" la formule jusqu'à la dernière ligne ;
  3. filtres la colonne F sur VRAI :
    ne restent affichées que les lignes à supprimer ;
  4. sélectionnes toutes le lignes :
    cliques sur le numéro de la première ligne (en dessous des titres), appuies sur les touches Maj+Ctrl+Flèche bas ;
  5. supprimes les lignes :
    cliques droit sur un numéro des lignes sélectionnées, supprimer ;
  6. supprimes le filtre (ou affiches tout).
 
Re : Suprression de lignes dans une BDD

Merci beaucoup Patrice pour ton aide.

Tu m'avais bien donné la solution du premier coup et je me demande encore comment j'ai fait pour ne pas remarquer la formule ! (Trop de projets et peu de sommeil, ça n'aide pas à réfléchir ^^' ).

Désolé de vous avoir embêté avec des détails bêtes et encore merci pour votre aide précieuse.

Bonne journée.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour