Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/10/2011, 05h25   #1
Invité de passage
 
Inscription : octobre 2011
Messages : 4
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 4
Points : 1
Points : 1
Par défaut Supprimer les cellules d'une colonne par rapport aux cellules d'une autre colonne

Bonjour,
je suis complètement noob sur excel et je souhaite gagner du temps pour mettre à jour jour ma liste d'email pour ma newsletter.

J'ai une colonne "B" avec ma liste d'email et une colonne "C" avec la liste d'email à effacer de la colonne "B".

Sachant que ma colonne "C" comporte 1350 email, je ne peux me permettre de les effacer de la colonne "B" une par une.

A vous professionnel du excel quel sont les actions (étape par étape) à faire pour supprimer les email de la colonne "C" dans la colonne "B".

Merci d'avance pour votre aide.
Cdt,
Lorien
loneo300666 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/10/2011, 10h53   #2
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Bonjour
Une proposition
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Dim LastLig As Long, i As Long
Dim c As Range
Dim Mail As String
 
Application.ScreenUpdating = False
With Worksheets("Feuil1")                                  'Adapte le nom de ta feuille
    'Dernière ligne remplie de colonne B
    LastLig = .Cells(.Rows.Count, "B").End(xlUp).Row
    'on parcourt les cellules de la colonne B
    For i = LastLig To 2 Step -1
        Mail = .Range("B" & i)
        If Mail <> "" Then
            'on cherche en C si le email existe
            Set c = .Range("C:C").Find(Mail, LookIn:=xlValues, lookat:=xlWhole)
            If Not c Is Nothing Then
                Set c = Nothing
                'Si oui, on supprime la cellule
                .Range("B" & i).Delete Shift:=xlShiftUp
            End If
        End If
    Next i
End With
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 06/10/2011, 12h06   #3
Invité de passage
 
Inscription : octobre 2011
Messages : 4
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 4
Points : 1
Points : 1
merci beaucoup mais ce code je le met ou ???
dsl je suis vraiment mauvais sur excel
loneo300666 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/10/2011, 12h17   #4
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Crée une procédure
Code :
1
2
3
4
Sub toto()
 
'ici le code
End Sub
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 06/10/2011, 12h28   #5
Invité de passage
 
Inscription : octobre 2011
Messages : 4
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 4
Points : 1
Points : 1
j'ai la version 2007 de excel en anglais !
ou est ce que je crée une procédure ??
loneo300666 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/10/2011, 12h56   #6
Invité de passage
 
Inscription : octobre 2011
Messages : 4
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 4
Points : 1
Points : 1
Bon je me suis bouger pour apprendre comment créer une procédure.

et ton code semble fonctionner du tonnere (j'ai cependant passer un peu de temps à comprendre qu'il fallait que j'enlève tes remarques du code )

je crois que c un mille merci et un résolu !
loneo300666 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h23.


 
 
 
 
Partenaires

Hébergement Web