Problème macro VBA
Bricetoushfresh
-
Bricetoushfresh -
Bricetoushfresh -
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
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:
- Problème macro VBA
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Excel compter cellule couleur sans vba - Guide
- Arreter une macro vba ✓ - Forum VB / VBA
3 réponses
Bonjour
les cellules à copier étant sélectionnées essaie
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
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.... ?
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.... ?
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
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
sans avoir besoin de sélectionner
Dans tes prochains messages, sois PRECIS dans ce que tu demandes; d'avance, Merci pour tout le monde! :-)
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! :-)
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