[déplacé VB6 -> VBA] copier/coller dans differentes feuilles [Résolu]

rafou29 29 Messages postés lundi 8 mars 2010Date d'inscription 14 avril 2010 Dernière intervention - 11 mars 2010 à 16:54 - Dernière réponse : rafou29 29 Messages postés lundi 8 mars 2010Date d'inscription 14 avril 2010 Dernière intervention
- 15 mars 2010 à 10:09
Bonjour,

J'ai des problèmes avec un code simple qui me fait tourner en bourrique ...

Objectif:
Je souhaite copier les données de 3 colonnes dans "Sheet1" et les coller dans "Sheet3".

Problème:
Il me fait un copier/coller partiel car il ne transpose mes données qu'une fois sur deux!

Mon code:

Private Sub CommandButton58_Click()

For i = 0 To 30
i = i + 1

Dim r1 As Range, r2 As Range, r3 As Range, myMultiAreaRange As Range
Sheets("Sheet1").Select
Set r1 = Range("C" & i)
Set r2 = Range("D" & i)
Set r3 = Range("F" & i)
Set myMultiAreaRange = Union(r1, r2, r3)
myMultiAreaRange.Select
Selection.Copy

Sheets("Sheet3").Select
Range("B" & i).Select
ActiveSheet.Paste

Next
End Sub

Merci de votre aide
Afficher la suite 

Votre réponse

7 réponses

rafou29 29 Messages postés lundi 8 mars 2010Date d'inscription 14 avril 2010 Dernière intervention - 15 mars 2010 à 10:09
+3
Utile
Merci de ton aide lolokun mais j'ai trouvé la réponse à mon problème sur un autre site.

Réponse:

Private Sub CommandButton58_Click()
Sheets("Sheet1").Range("C1:D30,F1:F30").Copy Destination:=Sheets("Sheet3").Range("B1")
End Sub

Simplissime et efficace

Encore merci de ton aide !
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de rafou29
rafou29 29 Messages postés lundi 8 mars 2010Date d'inscription 14 avril 2010 Dernière intervention - 12 mars 2010 à 09:42
0
Utile
Up
Commenter la réponse de rafou29
lolokun 1241 Messages postés mardi 10 octobre 2006Date d'inscription 27 août 2013 Dernière intervention - 12 mars 2010 à 09:58
0
Utile
Bonjour,

A mon avis il y a une ligne de trop :

For i = 0 To 30
i = i + 1


L'expérience, c'est une connerie par jour, mais jamais la même..
Commenter la réponse de lolokun
rafou29 29 Messages postés lundi 8 mars 2010Date d'inscription 14 avril 2010 Dernière intervention - 12 mars 2010 à 10:14
0
Utile
Je viens d'essayer en retirant le "i = i + 1" mais la macro ne tourne plus et je ne comprend pas comment peux-tu lui dire de copier les données de 0 à 30 si tu ne lui proposes pas de s'incrémenter de 1 à chaque fois ?
Commenter la réponse de rafou29
lolokun 1241 Messages postés mardi 10 octobre 2006Date d'inscription 27 août 2013 Dernière intervention - 12 mars 2010 à 10:30
0
Utile
Avec le next à la fin de ta boucle for

L'expérience, c'est une connerie par jour, mais jamais la même..
Commenter la réponse de lolokun
rafou29 29 Messages postés lundi 8 mars 2010Date d'inscription 14 avril 2010 Dernière intervention - 12 mars 2010 à 10:37
0
Utile
Le hic est qu'avec ma macro tourne mais pas comme je le souhaite et sans elle ne tourne plus et j'obtiens un msg d'erreur "run time error 1004"
une idée ???
Commenter la réponse de rafou29
lolokun 1241 Messages postés mardi 10 octobre 2006Date d'inscription 27 août 2013 Dernière intervention - 12 mars 2010 à 13:58
0
Utile
Je doute que la 1_re ligne de excel corresponde à 0 (je suis loin d'être un expert en vba...), as-tu essayé en démarrant avec i=1 ?


L'expérience, c'est une connerie par jour, mais jamais la même..
Commenter la réponse de lolokun

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.