Code vba

Résolu
Bonjour,

Tit question à tout les amateurs du genre ^^.J'ai un code VBA qui me permet d'enregistrer les valeur d'une cellule de la feuil1 par exemple dans une cellule définis de la feuil 2.

Ma question est de savoir comment copie une ligne entière et non plus une seule cellule ?

Code : Sheets("Feuil1").Range("B65536").End(x1up).Offset(1, 0).Value = Sheets("feuil3").Range("A5").value

Merci d'avance pour vos réponses
Configuration: Windows XP
Firefox 3.0.9

8 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Salut,
    En ce qui concerne la destination, il ne faut pas sélectionner une zone mais juste une cellule à partir de laquelle ton tableau doit être collé. Si tu veux coller ton tableau de A56 à F63 tu te places en A56 et tu colles.
    La idem si ce n'est que tu choisis la première ligne non vide par :

    Sheets("Feuil1").Select
    ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select

    et tu colles :

    ActiveSheet.Paste
    1. re ,

      J'arrive pas à définir la zone de destination si tu pouvais m'indiquer la marche a suivre
      1. Yep viens de voir sa ^^

        Encore merci tu ma été d'une grande aide et d'un gain de temps précieux

        Bonne journée à bientot
        1. Modérateur
          Bien sur c'est possible. Pour copier de la ligne 2 à 50 feuille 3 le code est (au lieu de Sheets("Feuil3").Range("A5").EntireRow.Copy ):

          Sheets("Feuil3").Range("A2:A50").EntireRow.Copy

          Tu peux même avoir le choix de la zone à copier....
          1. Re ,

            Merci pour ta réponse et ta rapidité ton code marche parfaitement bien ^^.

            J'aurais tout de même une dernière question (ouai je sais j'en profite un peu lol)

            Est-il possible que au lieux de la ligne 5 de la feuil 3 qui se copie sur la première ligne vide de la Feuil 1 se soit une zone de ligne genre 2 a 50 qui se copie si elle ont du texte tj dans la feuil 1 mais à un endroit spécifique de la feuil genre ligne 2 a 50 ?

            J'espère avoir était explicite merci encore pour ton aide
            1. Modérateur
              Je ne sais pas..... Désolé.
              Essaye ceci, si tu veux toujours copier la ligne 5 de la feuille 3 vers la première ligne non vide de la feuille 1 :
              Sub copier_lig()
              Sheets("Feuil3").Range("A5").EntireRow.Copy
              Sheets("Feuil1").Select
              ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
              ActiveSheet.Paste
              End Sub
              1. Re ,

                Désoler pour le double post alors mais j'ai une erreur lorsque je tape ton code

                Erreur d'éxécution '438':

                Proprieté ou méthode non gérée par cet objet

                Si tu as une idée du pourquoi du comment merci d'avance
                1. Modérateur
                  Bonjour,
                  Sujet déjà traité sur ce forum. la meilleure solution est celle-ci (je l'ai adaptée à ton cas) :
                  Copie la ligne "active" (celle ou tu as cliqué à priori sur une cellule) de la feuille 3 vers la première ligne vide feuille 1

                  Sub copier_lig()
                  Sheets(3).Rows(Selection.Row).Copy Sheets(1).Rows(Sheets(1).Range("A65536").End(xlUp).Row + 1)
                  End Sub

                  En plus, sur je cite mes sources