Problème macro VBA

Fermé
Bricetoushfresh - 5 nov. 2009 à 08:42
 Bricetoushfresh - 5 nov. 2009 à 10:18
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
A voir également:

3 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
5 nov. 2009 à 09:10
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

0
Bricetoushfresh
5 nov. 2009 à 09:32
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
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
5 nov. 2009 à 09:39
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.... ?
0
Bricetoushfresh
5 nov. 2009 à 09:43
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
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
5 nov. 2009 à 09:57
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! :-)
0
Bricetoushfresh
5 nov. 2009 à 10:18
MErci beaucoup, ca marche tres bien, je tacherai d'etre plus explicite la prochaine fois.
0