copy après resize qui ne marche pas

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

Blafi

XLDnaute Occasionnel
Bonjour le forum,

Dans l'exemple de fichier joint (fichier d'origine expurgé), j'ai, grâce à une macro analysé les adresses mail figurant dans la feuille Labase et j'ai obtenu en colonne G une information me disant "VRAI" si cette adresse email ne présente pas de caractère interdit et "FAUX" si l'adresse est fausse car contenant des caractères interdits. (Normalement j'ai une liste de 1400 personnes et email à étudier, ce qui explique que je procède par macro pour étudier ces adresses...)

Je désire ensuite sélectionner dans chaque cellule de la colonne G de la feuille LaBase, celles étant "vide" et celles étant "FAUX" pour copier toutes les cellules de la ligne correspondante (n°, Nom,Prénom, mail et valeur en G) dans la feuille Email Faux.
J'ai essayé d'utiliser une boucle for... next dans laquelle un resize est sensé redimensionner la plage à copier (n°, Nom,Prénom, mail et valeur en G) ...... mais ça ne marche pas. Ma macro ne copie rien ...

Quelqu'un peut-il m'aider à régler mon pb en m'indiquant où est mon erreur de programmation ,

Merci d'avance.
 

Pièces jointes

Re : copy après resize qui ne marche pas

Bonsoir Blafi, le forum,

Si tu as beaucoup de lignes, il faut peut-être éviter les boucles (un peu long).
Mais plutôt utiliser les filtres, voir la macro ci-dessous
VB:
Option Explicit

Sub ListeMailFaux()
Sheets("Email Faux").Cells.ClearContents
  ActiveSheet.[A1].CurrentRegion.AutoFilter Field:=7, Criteria1:="=FAUX", Operator:=xlOr, Criteria2:="="
  [A1:G20000].SpecialCells(xlCellTypeVisible).Copy Sheets("Email Faux").[A1]
  Selection.AutoFilter
End Sub

A te relire

Martial
 
Re : copy après resize qui ne marche pas

Bonjour à tous

Le resize fonctionne bien mais ....

CelF.Resize(1, 7).Copy va copier les 7colonnes à droite de la position courante. Et la position courante est en colonne ... G

Une solution serait de décaler avant le resize:
CelF.Offset(0, -6).Resize(1, 7).Copy


par ailleurs le test sur CelF.Value est à modifier car le fait d'y mettre des valeurs Vrai ou Faux le fait considérer en tant que Boolean

If Not CelF.Value Or CelF.Value = "" Then

A+
 
Re : copy après resize qui ne marche pas

Merci Yaloo et Paf pour ces informations..

La méthode du filtre est possible et je l'essayerais si j'ai beaucoup de lignes à traiter.
Normalement, je traite entre 5 et 50 lignes à la fois, ce qui ne dure (quand j'arrive à écrire une bonne macro ) pas trop longtemps.
Je ne savais pas exactement comment travaillait resize, je comprends maintenant pourquoi ma macro était "foireuse"...

Je vais donc essayer tout cela et vous tiendrais au courant.

Merci de votre aide.
Cordialement.
 
- 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

Discussions similaires

Réponses
103
Affichages
10 K
Réponses
3
Affichages
1 K
Retour