VBA Copier coller d'1 feuille à 1 autre

Scally15 Messages postés 1 Statut Membre -  
ccm81 Messages postés 11033 Statut Membre -
Bonjour,

Je suis vraiment débutante dans VBA et je me suis lancée dans un projet impossible...

Je cherche à créer des cases et si elles sont cochées alors le contenu d'une feuille qui se trouve dans le classeur (Feuil 2,3,4....) se retrouve en dessous de la feuille ayant les cases (Feuil1).

Il y aura plusieurs cases cochées donc le contenu doit à chaque fois venir en dessous du contenu précedent dans la Feuil1.
(Pour info il ya des images dans les Feuil 2,3,4...)

En fait j'essaye de créer un devis (Feuil 1) avec des fiches techniques qui s'ajoutent si on valide la case.

Donc j'ai commencé comme ca :

Sub Caseàcocher1_Cliquer()
Sheets("Feuil1").Select
Range("Feuil1").Copy
Sheets("Feuil2").Select
Range("Feuil2").Select
End Sub

Impossible d'y arriver, peut etre que tout est faux...Merci à celui qui saura m'aider.

4 réponses

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    bonjour

    essaies ceci

    Sheets(2).Range("A1:I47").Copy Sheets(1).Range("A49")

    bonne suite
    0
  2. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Bonjour,
    L'exposer de ta question manque, pour le moins, de clarté !
    1°) Tes CheckBox, il viennent de la barre d'outils "Boite à outils Contrôle" ou de la barre d'outils Formulaire ?
    Chacun à un mode de fonctionnement totalement différent.
    Ensuite..
    d'une feuille qui se trouve dans le classeur (Feuil 2,3,4....) se retrouve en dessous de la feuille ayant les cases (Feuil1).
    Et...
    Tu veux copier quoi et où.. de la feuille X vers où de la feuille Y ?
    Explique un peu mieux si tu veux être aidée valablement.
    A+

    Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
    NOTE : Je ne répond pas aux MP pour les questions techniques.
    0
  3. ccm81 Messages postés 11033 Statut Membre 2 434
     
    re

    - as tu essayé la proposition du post 3?

    - pour tes cases à cocher tu devrais utiliser des contrôles activeX (affichage/Boite à outils contrôles) nettement plus simples à mettre en oeuvre
    dans ton cas on aurait par exemple une recopie lorsque la Checkbox1 est cochée

    Private Sub CheckBox1_Click()
      If CheckBox1.Value = True Then
        Sheets(2).Range("A1:I47").Copy Sheets(1).Range("A49")
      End If
    End Sub

    - comme dit lermitte plus haut, il est difficile pour nous de voir exactement le pb
    - tu devrais joindre ton fichier (ou une partie sans données confidentielles au format excel 2003) en utilisant cjoint.com et en mettant le lien obtenu dans ton prochain post

    bonne suite
    0
  4. Heremion Messages postés 564 Statut Membre 102
     
    Bonjour Scally,

    Tu peux faire ainsi:

    Worksheets(1).Range("A1:XFD65536").Copy
    Worksheets(2).Activate
    Worksheets(2).Range("A1").Select
    Worksheets(2).Paste

    ou un truc du genre?
    -1
    1. scally15
       
      Bonjour Heremion,

      Merci pour ton aide.
      J'ai essayé ca et ca ne marche tj pas :

      Sub Structure12_Caseàcocher1_Cliquer()
      Worksheets(2).Range("A1:I47").Copy
      Worksheets(2).Activate
      Worksheets(1).Range("A49:I95").Select
      Worksheets(1).Paste
      End Sub

      La copie fontionne mais le worksheets 1 range non...

      As tu une idee?
      0
    2. Heremion Messages postés 564 Statut Membre 102
       
      Dans la feuille où tu vas copier les données, inutile de mentionner toute la plage, tu mets juste la cellule de départ.
      0