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 04/10/2011, 01h44   #1
Membre régulier
 
Richard
Inscription : novembre 2009
Messages : 255
Détails du profil
Informations personnelles :
Nom : Richard
Localisation : Canada

Informations forums :
Inscription : novembre 2009
Messages : 255
Points : 83
Points : 83
Par défaut if then else

Bonjour à tous.

Je dois faire un petit travaille qui consiste à me générer une liste à partir de plusieurs fichiers de personnes qui n'ont peu ou pas d'expérience en Excel.

Je cherche donc à trouver les lignes qui contiennent une adresse courriel et de prendre cette ligne de la colonne A à Z et de la copier vers une autre feuille. Mon problème est que parfois le courriel est dans la colonne F, parfois dans K... parfois ... et ce dans le même fichier ! Bref

Dans un livre que j'ai à la maison, j'ai trouvé "if - then -else" mais je suis incapable de faire la traduction en VBA de :

Si tu trouves un courriel dans les colonnes A à Z, copie cette ligne dans la feuille 2, sinon, supprime la ligne et passe à la ligne suivante.

Si quelqu'un aurait une idée.

Merci encore une fois !

Dlight
dlight est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2011, 07h09   #2
Membre Expert
 
Homme Hervé Silve
Inscription : août 2010
Messages : 773
Détails du profil
Informations personnelles :
Nom : Homme Hervé Silve
Localisation : France

Informations forums :
Inscription : août 2010
Messages : 773
Points : 2 093
Points : 2 093
Bonjour,

Essai ce qui suit pour voir si ça convient. Fais ce test sur une copie de ton classeur, la suppression des lignes étant définitive :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
 
Sub RechercheMailto()
 
    Dim Plage As Range
    Dim Ligne As Range
    Dim Cel As Range
 
    'défini la plage de recherche en feuille Feuil1 (à adapter)
    With Worksheets("Feuil1")
 
        Set Plage = .Range(.Cells(1, 1), .Cells(.Rows.Count, 26).End(xlUp))
 
    End With
 
    'parcour la plage ligne par ligne à la recherche du caractère @
    'si trouvé, la ligne est copiée en feuille Feuil2 (à adapter)
    'puis elle est supprimée
    For Each Ligne In Plage.Rows
 
        Set Cel = Ligne.Find("@", , xlValues, xlPart)
 
        If Not Cel Is Nothing Then
 
            With Worksheets("Feuil2")
 
                Ligne.Copy .Range("A" & .Cells(.Rows.Count, 1).End(xlUp).Row + 1)
                Ligne.EntireRow.Delete
 
            End With
 
        End If
 
    Next Ligne
 
End Sub
Hervé.
Theze est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/10/2011, 00h47   #3
Membre régulier
 
Richard
Inscription : novembre 2009
Messages : 255
Détails du profil
Informations personnelles :
Nom : Richard
Localisation : Canada

Informations forums :
Inscription : novembre 2009
Messages : 255
Points : 83
Points : 83
Par défaut re

Merci à vous Theze.


J'ai adapté votre code à mes besoins mais sans votre aide je n'aurais pas été en mesure de réussir.

Dlight
dlight 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 19h30.


 
 
 
 
Partenaires

Hébergement Web