Macro sélection conditionnelle

Bonjour,

je veux sélectionner dans un fichier Excel toutes les lignes dont la première cellule est non vide, puis copier ces lignes et les coller dans un autre fichier Excel.

J'ai déjà écrit ce code mais j'obtiens une erreur 1004 disant que la méthode 'Range' de l'objet '_Global' a échoué.

Voilà mon code (je définis une plage qui correspond à ce que je veux sélectionner puis je tente de tout sélectionner d'un coup)

Sub Update()

End Sub

Je n'arrive pas à comprendre d'où vient l'erreur. Quelqu'un peut-il m'aider ?

Ptigone

Bonjour,

Ici avec "Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False" tu fais un collage spécial mais je ne vois pas de copie avant !

Autre question : "Windows("Fichier global de suivi QP.xls").Activate" tu actives ce fichier mais est-il déjà ouvert ?

A quoi sert la virgule dans le while/wend puisque tu l'enlèves après (left-1) ?

Dernière question sur quelle ligne du code la macro plante-t-elle ?

A+

Bonjour

d'abord merci pour votre réponse.

il est vrai que la fin du code n'est pas bonne mais c'est parce que j'ai modifié et re-modifié mais le problème vient d'avant. Le bug est sur la ligne Range(Plage).Select

le vrai problème est que la sélection ne se fait pas. Soit alors la "Plage" est mal définie mais je ne vois pas pourquoi, soit il y a autre chose.

Pour les autres questions, oui le fichier "fichier global de suivi QP" est ouvert, c'est celui depuis lequel la macro s'exécute. la virgule sert à créer une liste de lignes par exemple 1:1,2:2,3:3 etc... jusqu'à temps qu'une cellule vide soit rencontrée et alors j'enlève ma dernière virgule (rajoutée en prévision de l'ajout potentiel d'une ligne) pour avoir une liste propre.

en espérant que vous pourrez m'aider.

Ptigone

Re,

Merci pour ces précisions, ça me semblait effectivement avec ce code un peu éloigné de ce que tu souhaites.

Pour la plage ça doit ressembler à ça :

Range("1:2, 5:10").Select

Donc il te faut des " dans ton code, mets plutôt Range("" & Plage & "").Select

A+

Rechercher des sujets similaires à "macro selection conditionnelle"