Copier coller speciale sur VBA

Résolu
kikou -  
 ranou -
Bonjour,

Je souhaite faire un collage speciale seulement des valeurs d'une feuille excel à une autre:
Ce code fonctionne tres bien pour copier coller:

Sub kopieren_KlickenSieAuf()
Sheets("OV").Select
Range("A1:AB100").Select
Selection.Copy

Sheets("Tabelle2").Select
Range("A1:AB100").Select
ActiveSheet.Paste
End Sub

Et voici le code que j'ai teste pour un collage spéciale après une visite sur plusieurs forums, mais cela ne fonctionne. pourriez -vous me donner un coup de main?

Sub kopieren_KlickenSieAuf()
Sheets("OV").Select
Range("A1:AB100").Select
Selection.PasteSpecial

Sheets("Tabelle2").Select
Range("A1:AB100").Select
ActiveSheet.Paste
Paste:=xlValues

End Sub

Je vous remercie d'Avance.
bonne soirée.

kikou
Configuration: Windows XP
Firefox 2.0.0.14

3 réponses

  1. Utilisateur anonyme
     
    Bonjour,

    Ça devrait plutôt ressembler à :

    Option Explicit
    
    Sub kopieren_KlickenSieAuf()
    
        Sheets("OV").Select
        Range("A1:AB100").Select
        Selection.Copy
    
        Sheets("Tabelle2").Select
        Range("A1").Select
        Selection.PasteSpecial Paste:=xlPasteValues
    
    End Sub
    '
    


    en pratique, la copie ne se fait pas sur une plage mais sur une cellule :

    ces 2 lignes :
    Range("A1:AB100").Select
    ActiveSheet.Paste

    devrait se lire :
    Range("A1").Select
    ActiveSheet.Paste

    dans votre exemple, il fauit utiliser :
    Selection.PasteSpecial Paste:=xlPasteValues

    Lupin
    9
    1. decricri
       
      Merci beaucoup Après 2 jours de recherche mon erreur était juste d'utiliser activesheet à la place de selection... Enfin maintenant ça marche =)
      0
    2. ranou
       
      Bonjour,
      J'ai un problème qui sembla aléatoire concernant un copier/coller dans une macro.
      Etape 1, je suis dans un tableau x feuile x1 et copie une selection (sel_table) (3 colonnes, 64 lignes)
      Etape 2, je lis un tableau Y feuille Y1 (Ici Rando )
      Etape 3 lorsque le tableau Y est lu, je veux vider le presse papier en "A10105"

      Problème: Parfois les données sont copiées, parfois pas???
      Le copy se fait toujours bien mais le Paste seulement parfois.
      Cette séquence est intégrée dans une boucle et revient n fois.
      Sur une boucle de 94 itérations, 9 sont OK sans que je ne remarque quelque chose de particulier dans les tableaux Y receveurs!.
      Précision complémentaire: le fichier à lire est toujours trouvé lors de mes test (IFound)
      Je suis en W7, sur un PC 64 bits avec MsOffice 2010
      Voyez ci-dessous le code.
      Merci de me donner un avis sur une éventuelle erreur, ou peut-être pouvez-vous me donner une façon différente d'agir pour copier en VBA ces données d'un tableau à un autre.

      '_________________________________________________________________
      ' copier les données de selection
      Range("sel_table").Select
      Selection.Copy
      '
      '
      ' ouverture du tableau de la rando
      On Error Resume Next
      Workbooks.Open za
      Dim lWorkbook As Workbook
      Dim lFound As Boolean

      lFound = False
      For Each lWorkbook In Workbooks
      If lWorkbook.Name = zaw Then
      lFound = True
      Exit For
      End If
      Next
      If lFound Then


      Sheets("Rando ").Select
      Sheets("Rando ").Activate


      ActiveSheet.Unprotect

      Range("a10105").Select

      Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
      :=False, Transpose:=False
      '__________________________________________________________________
      0
    3. ranou
       
      *
      0