Copier coller en VBA

Résolu
tortuegenie Messages postés 110 Date d'inscription lundi 27 mars 2006 Statut Membre Dernière intervention 21 octobre 2008 - 10 août 2006 à 09:07
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 12 août 2006 à 00:32
Bonjour, je souhaite copier une ligne se trouvant à l'indice ElementA et la coller à la ligne se trouvant à l'indice ElementA+1,
Je ne sais pas comment  utiliser mes indices dans Range() ou Row() alors si qq'un peut m'aider.

Par exemple Range("B"&Elea : "M"& Elea) mais je ne sais pas l'ecrire correctement comme pour Range("B8:M8")

Merci

11 réponses

Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
10 août 2006 à 09:36
Parce que le .Select, une fois sur 2, ça plante ! Et je ne sais jamais pourquoi et ça, ça m'énerve !!

Alors, je résouds le problème comme suit :
Sheets(4).Range("A" & CStr(Elea + 1)).Paste
Directement ^^

Mais ça aussi ça plante parfois, et je ne sais pas pourquoi non plus donc, à la place, je fais un :

Sheets(4).Range("A" & CStr(Elea + 1)).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

Ca au moins ça ne plante jamais (attention, ça ne te remonte que la valeur, s'il te faut une formule, c'est une autre option que xlPasteValues, tu les as toutes de détaillées dans l'aide).

Molenn
3
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
10 août 2006 à 09:17
Salut,


Tu t'étais un peu trompé dans la concaténation de chaine de caracteres.
Essaie le code suivant (en le modifiant bien sur)




Dim Elea As Integer 
Elea= 8 
Range("B" & CStr(Elea) & ":M" & CStr(Elea)).Copy 
Range("B" & CStr(Elea + 1)).Select 
ActiveSheet.Paste 
 







<small> Coloration syntaxique automatique [AFCK]</small>

       















@+, Julien
Pensez:
0
tortuegenie Messages postés 110 Date d'inscription lundi 27 mars 2006 Statut Membre Dernière intervention 21 octobre 2008
10 août 2006 à 09:25
Voici le code que j'ai ecris et il me dit que la méthode Select de la classe Range a échoué!!! 

Sheets(4).Range("A" & CStr(Elea) & ":M" & CStr(Elea)).Copy
    Sheets(4).Range("A" & CStr(Elea + 1)).Select
    Sheets(4).Paste

Peux-tu m'aider
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
10 août 2006 à 09:39
Salut,
Dans quelle feuille se trouve le code.
Essaies peu etre de mettre Worksheets(4).Activate avant ce code et d'enlever les Sheets(4).

@+, Julien
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tortuegenie Messages postés 110 Date d'inscription lundi 27 mars 2006 Statut Membre Dernière intervention 21 octobre 2008
10 août 2006 à 09:46
Marcha pas non plus le PasteSpecial.


Le petit Billy commence à m'enervé tout doucement.


Personne peut me proposer qq chose qui peut faire mon copier coller SVP????
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
10 août 2006 à 09:52
Re,


OU AS TU MIS LE CODE que je t'ai proposé. as tu fais ce que je te proposais (.Activate ...)










@+, Julien
Pensez:
0
tortuegenie Messages postés 110 Date d'inscription lundi 27 mars 2006 Statut Membre Dernière intervention 21 octobre 2008
10 août 2006 à 09:58
Dsl Jrivet mais c'était pas un problème avec mes feuilles, pas du tout mais bien un problème de Select et Paste.


En fait cela fonctionne maintenant, il faut que je mette PasteSpecial à la place de Paste.


Faut pas essayer de comprendre mais cela marche
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
10 août 2006 à 09:58
Re,


Je me souviens que lors d'une de tes dernieres questions (celle ci) J avais eu le meme problème si je ne mettais pas
Worksheets(4).Activate 
Et Ensuite ActiveSheet.Range(...

Essaie de refaire la même opération pour voir si cela règle ton problème.










@+, Julien
Pensez:
0
Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
10 août 2006 à 09:59
Oui, le mieux, c'est encore que tu nous mettes le code de la macro, on pourra te dire où est le pb parce qu'avec le .PasteSpecial, j'ai jamais de soucis personnellement. Par contre, jrivet a raison, la déclaration des Worksheets est souvent la raison aux pbs de copier/coller
0
tortuegenie Messages postés 110 Date d'inscription lundi 27 mars 2006 Statut Membre Dernière intervention 21 octobre 2008
10 août 2006 à 10:01
Personnellement j'ai tjs utilisé mes Sheets(4) ou autre et cela à tjs fonctionner, le problème c'est que parfois je ne sais pas écrire correctement, problème de touche sur le clavier.Mdrrr!!!

Merci pour votre aide maintenant cela fonctionne très bien
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
12 août 2006 à 00:32
    Dim Elea As Integer

   

    Elea = 2

   

    Sheets(4).Range("B" & Elea & ":M" & Elea).Copy

    Sheets(4).Range("B" & Elea & ":M" & Elea).Offset(1, 0).Select ' baisse d'une ligne

    Selection.PasteSpecial xlValues

   

    Application.CutCopyMode = False ' enlève les lignes clignotantes

MPi
0
Rejoignez-nous