Probleme pr copier coller en VBA

pascale4210 -  
 pascale4210 -
Bonjour,

Je dois créer une macro dans le cadre de mon stage mais la je suis bloquée, une erreur apparait comme quoi la plage que je copie est incompatible ac celle ou je veux coller. Voici mon code

Sub Macro1()
For I = 2 To Sheets.Count
Sheets(I).Select
Dim MaLigne As Variant
MaLigne = Range("C65536").End(xlUp).Address
MaLigne = Range(MaLigne).Row

Rows(MaLigne).Select
Selection.Copy
Sheets("Sommaire").Select
Cells(I, 6).Select
Selection.PasteSpecial Paste:=xlValues

Next I

'
End Sub

Si qqn trouve l'erreur ca serait vraiment tres cool!!!
Merci d'avance
Configuration: Windows 2000
Internet Explorer 6.0

5 réponses

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    déjà peut-être Paste:=xlPasteValues...

    mais surtout tu cherches à coller une ligne entière (256 colonnes sur excel 2003) en te positionnant en colonne 6, forcément ça rentre pas...
    Donc soit colle en colonne A, soit réduit ton copier à ce qui est nécessaire (avec .End(xlToLeft) par exemple)

    et tu peux écrire directement :
    Dim MaLigne as long
    MaLigne = Range("C65536").End(xlUp).Row

    eric
    0
  2. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Bonjour,
    Pour copier pas besoin de faire les sélection...

    NbColo = 10
    Range(Cells(Maligne, 1), Cells(i, NbColo)).Copy _
    Destination:=Sheets("Sommaire").Cells(i, 6)

    Plus moyen de mettre les balises code ???? ni les autres d'ailleurs ????
    A+
    0
  3. pascale4210
     
    Merci pour vos réponses.
    JE suis tres interressée par ta réponse eric mais je n'ai pas bien saisi comment utilisé le ".End(xlToLeft)" car je ne peux pas copier en A car j'ai déja une autre macro qui le fait....
    Faut il que je le mette lorsque je selectionne ma ligne u lorsque je la copie???

    Désolé ca fait maintenant 3 jours que je me suis mise à VBA....

    Merci d'avance.
    0
  4. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    XlToLeft c'est si tu veux la dernière colonne de la feuille
    XlUp c'est pour trouver la dernière ligne de la feuille.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    tu as la ligne qui t'interesse dans Maligne,
    pour copier de la colonne A à la dernière colonne de cette ligne tu fais :
    Range(Cells(maligne, 1), Cells(maligne, 256).End(xlToLeft)).Copy

    Cells(maligne, 1) : de la colonne A
    Cells(maligne, 256).End(xlToLeft) : tu pars de la dernière cellule de ta ligne (colonne 256 donc) et tu lui dis d'aller sur la 1ère cellule remplie en allant vers la gauche (ça sera donc la dernière de ta ligne).

    eric
    0
    1. pascale4210
       
      Merci beaucoup ca marche!!!!
      A bientot
      0