VBA, Copier, coller cell puis itération

Bonjour,

Je souhaiterais faire un copier/coller d'une cellule vers une autre feuille à l'aide d'un bouton mais à chaque appui du bouton, je souhaite changer de ligne le collage.

Ex:
copier/coller de A1 feuil1 en A1 feuil2 lors de l'appui du bouton
Puis nouvelle appui du bouton = copier coller en A2 feuil2 et ainsi de suite

j'arrive a copier/coller mais je n'arrive pas à inclure la boucle à l'intérieur (pour changer de ligne)
En éspérant etre assez claire.
Merci d'avance pour votre aide, je cherche depuis de nombreux jours!!!

7 réponses

  • Votes
  • Date
  • Date décroissante
  1. bonjour à tous

    ceci copie A1 de la feulle 1 dans la feuille2 colonne A sur la première ligne vide

    Const F1 = "Feuil1" 
    Const F2 = "Feuil2" 
    
    Private Sub CommandButton1_Click() 
    Dim lifin As Long, v 
    v = Sheets(F1).Range("A1").Value 
    lifin = Sheets(F2).Range("A" & Rows.Count).End(xlUp).Row 
    If Sheets(F2).Range("A1") <> "" Then lifin = lifin + 1 
    Sheets(F2).Range("A" & lifin).Value = v 
    End Sub

    bonne suite
    1. Merci beaucoup, ça fonctionne niquel. je suis vraiment épaté et en plus ca ne fait rien lorsqu'il y a rien ds la cellule.
      C'est top cool, je vais maintenant le reporté a d'autres cellules
      encore merci
    2. et en plus ca ne fait rien lorsqu'il y a rien ds la cellule.
      si mais comme ça copie "" , la cellule de F2 reste disponible
      RQ. on pourrait effectivement ajouter un test sur A1 'de F1) e ne rien faire si A1 est vide

      bonne suite
  2. Bonjour,

    pourquoi copier coller une ligne après l'autre ??
    Pourquoi avec un bouton ?
    Pourquoi pas avec une formule du genre
    dans A1 de la feuille 2 faire : =Feuil1:A1

    cordialement
    1. Car c'est pour une sauvegarde de donnée, a chaque nouvelle entrée j'ai besoin d'enregistrer cette valeur et d'y avoir accès par la suite. C'est une sorte de sauvegarde que je peux réutiliser ensuite. j'ai besoin de renvoyer (plusieurs cellules).
      et le collage simple ne suffit pas car j'ai besoin d'entrer mes données toujours dans le même tableau en feuil1 et je veux une sauvegarde de plusieurs cellules ds une autre feuille (feuil2 en l'occurence)!

      merci
      1. essaie ce code dans le bouton

        ça copie toutes les cellule dans la feuille 2
        Private Sub CommandButton1_Click()
        For lig = 1 To Range("a65536").End(xlUp).Row
          valeur = Sheets("Feuil1").Cells(lig, 1).Value
          Sheets("Feuil2").Cells(lig, 1).Value = valeur
        Next lig
        End Sub
        
        1. Ou cela pour la cellule active de la colonne A de la feuille 1
          
          Private Sub CommandButton1_Click()
          maligne = ActiveCell.Row
          mavaleur = ActiveCell.Value
          Sheets("feuil2").Cells(maligne, 1).Value = mavaleur
          End Sub
          
          
          1. Merci à vous deux, la solution de ccm81 fonctionne parfaitement. je n'ais pas réussi a faire fonctionner l'autre, mais encore merci pour vos réponses et la rapidité!!!
            1. alors il faut déclarer la variable "lig"
              Dim lig As Integer
              
              Private Sub CommandButton1_Click()
              For lig = 2 To Range("a65536").End(xlUp).Row
                valeur = Sheets("Feuil1").Cells(lig, 1).Value
                Sheets("Feuil2").Cells(lig, 1).Value = valeur
              Next lig
              End Sub
              

              en espérant que ça fonctionne