Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Comment supprimer des données d'un fichier a l'aide d'un autre fichier

  • Initiateur de la discussion Initiateur de la discussion fredgoral
  • 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 !

F

fredgoral

Guest
Bonjour,

Débutant sur exel 2007, je cherche une solution pour supprimer les mauvaises adresses mails d'une base de données. Pour cela je dispose d'un fichier csv dans le quel se trouve la base de données (Exposants mailing1) avec les noms, adresses,..., et mail, et d'un autre fichier listant toutes les adresses mails fausses (BadMail).
J'ai essayé avec un bouton, mais le code que j'ai trouvé ne me correspond pas et je n'ai pas le savoir suffisant pour le modifier a ma guise.

Je vous joint deux fichiers pour exemple.

Merci

FS
 

Pièces jointes

Re : Comment supprimer des données d'un fichier a l'aide d'un autre fichier

Je pense que le probleme vient du fond de la cellule. Avec ce code :

Code:
Sub Bouton1_Clic()
Dim cel As Range
For Each cel In Range("N6:N30000")
With cel
If .Interior.ColorIndex = 3 Then
.ClearContents
End If
End With
Next cel

End Sub

la macro n'efface que les cellules sur lesquelles j'ai moi même placé un fond rouge. En fait les cellules sont rouges du fait de la présence des doubles dans la colonne BadMail, si on les supprime les cellules qui ont un fond n'en auront plus.

Je pense que je doit donc m'orienter vers la comparaison de colonne, si la valeur présente dans la colonne N est aussi présente dans la colonne Q alors effacer la valeur dans la colonne N.

Je m'en vais bidouiller dans ce sens.

@+
 
Re : Comment supprimer des données d'un fichier a l'aide d'un autre fichier

Re,

mais cela ne fonctionne pas. Le code passe bien mais cela n'efface pas les contenus des cellules ayant une couleur de fond rouge.
Est-tu certain d'avoir le même rouge ?
il y a le rouge clair, le rouge vif, le rouge rougeole, le rouge scarlatine, .......................

à+
Philippe
 
Re : Comment supprimer des données d'un fichier a l'aide d'un autre fichier

Bonjour,

J'ai testé plusieurs façon d'indiquer le rouge, sur le code qui place le fond rouge il est indiqué en RGB (255.0.0), j'ai appliqué la même méthode pour indiquer la couleur que dans la première macro et rien ne ce passe, je me suis servis du code couleur vba c.a.d (3) qui correspond d'après ce que j'ai trouvé au RGB (255.0.0) idem.

Ensuite j'ai moi même appliqué une couleur de fond rouge a une cellule au hasard, dans ce cas la macro efface ce qui est a l'intérieur de cette cellule mais pas dans les autres, d'ailleurs si on regarde les propriétés des cellules mis en rouge par la première macro, elles ne sont pas considérés comme ayant un fond rouge.
Je pense que mon souci vient de la.

J'ai utilisé le fichier joint, trouvé sur un forum, qui permet de vérifier les codes couleurs.

C'est pourquoi je me dis que ton idée de passer par une formule qui efface les données dans la col N qui se trouvent aussi dans la col Q est la meilleure solution.

Je vais essayé dans ce sens.

@+
 

Pièces jointes

Re : Comment supprimer des données d'un fichier a l'aide d'un autre fichier

Re,

Je ne vois pas dans ta dernière macro, ce qui permet a la formule de comparer les cols N et P. Est-ce à dire que la formule doit être obligatoirement collé entre les deux colonnes à comparer ?
Si oui, peut-on l'adapter pour qu'elle se place en col U et compare les colonnes N et R.

Merci.

@+
 
Re : Comment supprimer des données d'un fichier a l'aide d'un autre fichier

Je viens de voir la formule qui est collé dans la col U et effectivement elle compare bien la col situé avant et celle situé après...

.... j'ai modifié "=COUNTIF(C[1],RC[-1])" par "=COUNTIF(C[-3],RC[-7])" et c'est bon.
 
Dernière modification par un modérateur:
Re : Comment supprimer des données d'un fichier a l'aide d'un autre fichier

Bon encore bloqué, voici la macro tel que je l'ai modifié :

Code:
Sub Bouton1_Clic()
    Application.ScreenUpdating = False
    Columns("U").ClearContents
    Range("U6").Select
    'modif de la formule pour utiliser les cols R et N
    ActiveCell.FormulaR1C1 = "=COUNTIF(C[-3],RC[-7])"
    Range("U6").Select
    Selection.AutoFill Destination:=Range("U6:U" & Range("N65535").End(xlUp).Row), Type:=xlFillDefault
    Range("U6:U30000").Select
    For i = Range("N65535").End(xlUp).Row To 1 Step -1
    '21 a la place de 15 pour correspondre a la col U
    If Cells(i, 21).Value = 1 Then
    'je voudrais juste effacer les cellules contenant les faux mails mais pas supprimer les lignes entières
        Cells(i).ClearContents
    End If
    Next i
    Columns("U").ClearContents
    [N6].Select
    Application.ScreenUpdating = True
End Sub

La macro passe d'un bout a l'autre, j'ai bien des 1 et des 0 en col U mais il ne m'efface pas le contenu des cellules contenant les mauvais mails. Si je met Rows(i).ClearContents cela efface bien le contenu des lignes mais c'est pas ce que je veux😡.

Si tu as une idée de ce qui bloque...

Merci

@+
 
Re : Comment supprimer des données d'un fichier a l'aide d'un autre fichier

Re,
Re,

Je ne vois pas dans ta dernière macro, ce qui permet a la formule de comparer les cols N et P. Est-ce à dire que la formule doit être obligatoirement collé entre les deux colonnes à comparer ?
c'est ici:
Code:
    Range("O1").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(C[1],RC[-1])"
    Range("O1").Select
    Selection.AutoFill Destination:=Range("O1:O" & Range("N65535").End(xlUp).Row), Type:=xlFillDefault
ce n'est pas obligatoire de la mettre en colonne O mais il faut bien la mettre quelque part car c'est sur cette colonne O que sont faits les test qui permettent de voir s'il y a des adresses communes (doublons)

ci-dessous le test:
Code:
    For i = Range("N65535").End(xlUp).Row To 1 Step -1
    If Cells(i, 15).Value = 1 Then
        Cells(i, 14).ClearContents
    End If
    Next i
    Columns("O:P").ClearContents
    [N1].Select
ce qui veut dire que si on trouve 1 en colonne O, on supprime la cellule (sur la même ligne) en colonne N
ensuite on supprime les valeurs des colonnes O & P qui ne servent plus à rien

à+
Philippe
 
Re : Comment supprimer des données d'un fichier a l'aide d'un autre fichier

Re,

par rapport au code que tu montre à la réponse #21, ça ne peut fonctionner à cause de:

Cells(i).ClearContents

puisque tu n'indique pas la colonne

Cells(i,14).ClearContents serait plus logique

à+
Philippe
 
Re : Comment supprimer des données d'un fichier a l'aide d'un autre fichier

Exact, c'est pour cela que ca ne marchait pas, le 14 indiquant la colonne dans la quelle les cellules doivent être effacer.

Ce qui n'était pas nécessaire avec rows puisqu'on supprimé toute la ligne.

Je vais testé.....

@+

Fred
 
Re : Comment supprimer des données d'un fichier a l'aide d'un autre fichier

C'est bon cela fonctionne, je rajoute quelques petites améliorations et je te montrearais ce que cela donne au final.

Merci BoooOOOOOoooocoup pour ton aide.

@+

Fred
 
Re : Comment supprimer des données d'un fichier a l'aide d'un autre fichier

Re,

Voici le résultat final, enfin j'ai rajouté encore un bouton : "Etiquette" mais il marche pas encore, je sais même pas si c'est possible.
Par contre j'ai préparé un dossier exemple macro, avec les différents fichiers doint la macro a besoin pour fonctionner, à coller a la racine de D afin que les chemins fonctionnent.
Seul Hic la taille du Zip dépasse la limite alors je l'ai mis sur mon site, voici le lien :

HTML:
www.goral-expo.com/telecharger/Exemple_macro.zip

Je pense que le code peut-être bien allégé mais il fonctionne et avec 500 a 600 adresses c'est plutôt rapide.

Enfin tout ca c'est grâce a ton aide alors merci.

@+

Fred
 
- 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

Réponses
26
Affichages
2 K
S
Réponses
29
Affichages
2 K
StanislasC
S
S
Réponses
13
Affichages
2 K
sanae_J
S
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…