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

  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
    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
        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 ,

          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
            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. 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. re ,

                J'arrive pas à définir la zone de destination si tu pouvais m'indiquer la marche a suivre
                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