Sélectionner toutes les cellules comportant un "@"

Kya

XLDnaute Nouveau
Bonjour à tous,
Alors voilà je suis débutant sur Excel, calcul ou autre je maîtrise mais lorsqu'il s'agit de Macro ou autre nom barbare... Je suis perdu :D

Aussi voici mon problème:
Je suis en stage dans une entreprise (donc je ne pourrais pas vous donner le fichier en question, confidentialité oblige...)
Il comporte plusieurs colonnes:
Nom Prénom Adresse CodePostal Email Téléphone...
J'ai pu extraire un fichier texte (.txt) du logiciel de gestion, il est ensuite possible de l'importer sous excel.

Ce que j'ai fais, mais même en mettant correctement les séparateurs, lorsqu'une adresse mail ou bien un téléphone ou tout autre champ n'a pas été renseigné dans le logiciel, la ligne est décalée.

Exemple:
Nom Prénom Adresse CodePostal Email Téléphone...
Martin Marc 50 avenue excel 00000 Matin@excel.fr 00000000
Martine Martha 51 avenue excel Martine@excel.fr 00000001

Or pour faire du mailing, il faudrait pouvoir sélectionner toutes les adresses d'un coup pour éviter le copier-coller... C'est pour cela que je vous demande si on peut avec une macro ou autre moyen de sélectionner les cellules comportant un @ pour aller plus vite...

Merci d'avance :) (J'espère que vous comprendrez mon charabia...)
 

Robert

XLDnaute Barbatruc
Re : Sélectionner toutes les cellules comportant un "@"

Bonjour Kya et bienvenu, bonjour Chalet, bonjour le forum,

Une autre proposition que celle de Chalet avec un tableau dynamique qui récupère les adresses de l'onglet Feuil1 puis les place dans la colonne A de l'onglet Feuil2 :
Code:
Sub Macro1()
Dim cel As Range 'déclare la variable cel (CELlule)
Dim x As Long 'déclare la variable x (incrément)
Dim tbl() As String 'déclare le tableau de variables indexées tbl (TaBLeau)
 
For Each cel In Sheets("Feuil1").UsedRange 'boucle 1 : sur tous les cellules éditées de l'onglet "Feuil1"
    If cel.Value Like "*@*" = True Then 'condition : si la cellule contient le caractère @
        ReDim Preserve tbl(x) 'redimentionne le tableau tbl
        tbl(x) = cel.Value 'attribue une variable indexée au tableau tbl
        x = x + 1 'incrémente x
    End If 'fin de la condition
Next cel 'prochaine cellule de la boucle
 
For x = LBound(tbl, 1) To UBound(tbl, 1) 'boucle 2 : sur toutes les variables du tableau tbl
    'place la variable dans la colonne A de l'onglet "Feuil2" à partir de la première ligne
    Sheets("Feuil2").Cells(x + 1, 1).Value = tbl(x)
Next x 'prochaine variable de la boucle
End Sub
 

Kya

XLDnaute Nouveau
Re : Sélectionner toutes les cellules comportant un "@"

Merci beaucoup à vous deux =)
Comme je vous le disais précedemment je ne m'y connais pas trop trop... Est ce que vous pourriez m'expliquer comment on les installe et fait fonctionner? :S


Edit: J'ai trouvé finalement merci beaucoup :D
 
Dernière édition:

CHALET53

XLDnaute Barbatruc
Re : Sélectionner toutes les cellules comportant un "@"

Re

Si tu veux installer les macros (la mienne ou celle de Robert dans ton fichier :

Sur ton fichier, tu fais Alt + F11 et tu arrives sur l'éditeur VBE
Tu sélectionnes dans l'explorateur VBE (partie en haut à gauche) ton fichier (si tu en avais plusieurs déjà ouverts)
Tu fais : Insertion / Module
Tu colles les macros
(tu peux d'abord tester sur mon fichier pour voir la macro (et la copier pour la coller ensuite dans ton fichier)

Si tu veux faire un bouton :
Dans ton fichier excel : tu choisis développeur / Insérer / click sur le bouton en haut à gauche
Tu fais un rectangle sur ton fichier : là, il va te proposer un choix parmi les macros disponibles

Si tu fais un click droit sur le bouton de mon fichier : tu choisis affecter une macro (par défaut, il te propose celle déjà présente). tu peux faire Modifier et tu vois la macro

a+

PS : je n'avais pas vu ta dernière modif
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas