Erreur macro copier/coller

Résolu
Bonjour,

J'ai un soucis sur une macro que je n'arrive à résoudre.

je fais un copier/coller qui ne fonctionne pas.

j'ai tenté plusieurs méthodes sans réussir à éviter une erreur.

qu'est ce que je fais qui n'est pas correcte?




Configuration: Windows / Chrome 87.0.4280.141

5 réponses

  1. Contributeur
    Bonjour,

    il est préférable de poster le code en suivant les indications du lien au lieu d'images:

    https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

    voir ceci pour faire un copier coller d'une plage de cellule:

    https://docs.microsoft.com/fr-fr/office/vba/api/excel.range.copy
    1
    1. j'ai utilisé un code de ton lien

      ActiveSheet.Range("B3:O55").Copy _
          Destination:=Worksheets("Impression").Range("B76")


      et cela fonctionne.

      Sauriez-vous cependant me dire pourquoi?
      0
    2. Contributeur
      @Maksime568Le bouton se trouve sur la feuille active donc on emploi:

      ActiveSheet


      ensuite si tu veux coller a la suite il faut déterminer la 1ère ligne vide pour remplacer par une variable:

      Range("B76")


      voici le site pour trouver la dernière ligne rempli a laquelle tu ajouteras +1

      https://excel-malin.com/tutoriels/vba-tutoriels/vba-trouver-la-derniere-cellule-utilisee/

      voilà tu as les cartes en main pour faire ta macro

      Bon courage

      @+ Le Pivert
      0
    3. @cs_Le PivertJe faisais en sorte d'être certain d'avoir les cellules de destination vide en faisant un .delete de la zone pourtant.
      0
  2. Bonjour,

    Essaie en mettant
    Set C=Range("B76:O128")
    au lieu de
    Selection Copy
    et au lieu de la ligne en erreur, mets :
    C.Copy
    Range("B76").Paste
    


    Daniel
    0
    1. Merci,

      mais j'ai toujours le même soucis.

      la copie est à prendre en "B3:055" d'une feuille pouvant être variable et à coller en "B73" d'une autre feuille fixe "Impression".
      0
  3. Il y a alors quelque chose qui bloque. Est-ce que tu peux poster le classeur sans données confidentielles ?

    Daniel
    0
    1. Bonjour,

      Au lieu de
      Range("B76").Paste

      mets :
      c.Copy Range("B76")


      Daniel
      0