Copier coller en VBA

Résolu
Messages postés
110
Date d'inscription
lundi 27 mars 2006
Statut
Membre
Dernière intervention
21 octobre 2008
-
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
-
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

Messages postés
797
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
23 février 2011
7
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
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
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:
Messages postés
110
Date d'inscription
lundi 27 mars 2006
Statut
Membre
Dernière intervention
21 octobre 2008

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
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
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
Messages postés
110
Date d'inscription
lundi 27 mars 2006
Statut
Membre
Dernière intervention
21 octobre 2008

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????
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Re,


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










@+, Julien
Pensez:
Messages postés
110
Date d'inscription
lundi 27 mars 2006
Statut
Membre
Dernière intervention
21 octobre 2008

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
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
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:
Messages postés
797
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
23 février 2011
7
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
Messages postés
110
Date d'inscription
lundi 27 mars 2006
Statut
Membre
Dernière intervention
21 octobre 2008

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
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
    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