Problème macro VBA

Bonjour,

Je fais appel à vous car je voudrais créer une système d'archivage sous VBA, j'ai 4 données qui sont dans une colonne de la feuille 1 et je voudrais créer un bouton qui archive sur une feuille 2 ces 4 données dans 4 colonnes différentes à chaque fois que l'on appuie dessus. J'ai réussi à faire le copier collé mais le problème c'est que je fais un copier collé sur la première ligne donc j'écrase les données précédentes à chaque fois. Je n'arrive pas dire dans mon programme que si la cellule est vide alors copié et si non vide, aller a la ligne.
J'ai utilisé l'enregistreur de macro pour faire la mienne, du coup elle est énorme.
J'espère que vous pourrez m'aider. merci
Configuration: Windows XP Internet Explorer 6.0

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Bonjour

    les cellules à copier étant sélectionnées essaie

    Sub copieralasuite()
    Dim plage As Range, ligvid As Long
    With Sheets(1)
        Set plage = Selection
    End With
     With Sheets(2)
        ligvid = .Range("A65536").End(xlUp).Row + 1
        plage.Copy .Range("A" & ligvid)
    End With
    End Sub

    1. Qu'est ce que tu veux dire par sélectionné??

      En fait, j'ai 4 données en G10, G12, G14, G16 et j'aimerai qu'elles se copient en feuille 2 chacune dans une colonne différentes et que a chaque fois que l'on enregistre, ca aille dans la cellule suivante pour ne pas écraser les sauvegardes précédentes.

      MErci
  2. Contributeur
    Qu'est ce que tu veux dire par sélectionné??
    tu cliques sur les cellules que tu veux copier !

    j'ai 4 données en G10, G12, G14, G16
    C'est toujours celles là ?

    feuille 2 chacune dans une colonne différentes
    Lesquelles ?

    que a chaque fois que l'on enregistre
    Tu parlais d'un bouton dans le message 1.... ?
    1. Qu'est ce que tu veux dire par sélectionné??
      tu cliques sur les cellules que tu veux copier !

      j'ai 4 données en G10, G12, G14, G16
      C'est toujours celles là ?

      OUi, c'est toujours celle la

      feuille 2 chacune dans une colonne différentes
      Lesquelles ?

      Les colonnes A, B, C, D

      que a chaque fois que l'on enregistre
      Tu parlais d'un bouton dans le message
      1.... ?
      OUI, c'est ca le bouton du msg 1
  3. Contributeur
    sans avoir besoin de sélectionner

    Option Explicit
    
    Sub copieralasuite()
    Dim tablo, ligvid As Long
    With Sheets(1)
        tablo = Array(.Range("G10"), .Range("G12"), .Range("G14"), .Range("G16"))
    End With
    
     With Sheets(2)
        ligvid = .Range("A65536").End(xlUp).Row + 1
        .Range("A" & ligvid).Resize(1, 4) = tablo
    End With
    End Sub


    Dans tes prochains messages, sois PRECIS dans ce que tu demandes; d'avance, Merci pour tout le monde! :-)
    1. MErci beaucoup, ca marche tres bien, je tacherai d'etre plus explicite la prochaine fois.