Excel et copier coller entre feuilles

gladiarotor Messages postés 6 Date d'inscription mercredi 8 septembre 2004 Statut Membre Dernière intervention 16 août 2005 - 9 août 2005 à 22:17
jhary69 Messages postés 81 Date d'inscription jeudi 29 juillet 2004 Statut Membre Dernière intervention 22 juillet 2007 - 10 août 2005 à 08:52
bonjour,



j ai un petit souci avec excel,



je souhaiterais ne copier que quelques données d'une feuille dans une feuille nouvellement créée

pour cela j'utilise le codee suivant :



niuSheet = la nouvelle feuille créée par une procédure juste avant celle ci

colonne et rangee indique la derniere cellule à copier





Sheets("TOTO").Select

Range("A1:" & Trim(Chr(colonne) + CStr(rangee))).Select

Selection.Copy

niuSheet.Select

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

:=False, Transpose:=False





or

Range("A1:" & Trim(Chr(colonne) + CStr(rangee))).Select

me génère une erreur 1004 et je ne comprends pas pourquoi cela ne fonctionne pas



si vous avez une idée merci de bien vouloir me répondre



Merci d'avance



@+

1 réponse

jhary69 Messages postés 81 Date d'inscription jeudi 29 juillet 2004 Statut Membre Dernière intervention 22 juillet 2007
10 août 2005 à 08:52
salut,

en fait chr( ) te donne la valeur du caractere dont tu passes le code Ascii en param. Le pb c'est que pour avoir A, B, C, ... a partir d'un N° de colonne, il faut ruser car le code Ascii de A c'est 65 et pas 1

Du coup pour transformer ca à partir de tes N° de colonnes il faut faire :

Chr(Asc("A") + colonne -1) ' (ou Chr(colonne + 64 ))

c'est a dire

1/ recuperer le code Ascii du A ==> Asc("A")2/ ajoute a ce code Ascii ton N° de colonne -1 (car la 1ere colonne A Code ascii de A + 0 et pas + 1)
3/ tout repasser en caractere

ca donne pour ton code :

Range("A1:" & Trim(Chr(Asc("A") + colonne - 1) + CStr(rangee))).Select

A+

Christophe
0
Rejoignez-nous