petit bout de macro

dafunk74

XLDnaute Nouveau
bonjour,

Je ne suis pas franchement un spécialiste de la macro mais j'en ai enregistré une qui recupere des infos en feuille 2 pour les coller en feuille 1.
seulement je souhaite qu'une fois les infos collé en feuille 1 (dans un tableau)
l'execution de la macro à nouveau colle les nouvelles entrée à la suite.
hic, je ne sait pas faire malgré mes recherches.
pouvez vous m'aider ?

merci pour vous reponses

ps: ma macro :

Sub Macro1()
'
' Macro1 Macro
'

'
Range("B1:B9").Select
Selection.Copy
Sheets("base de données").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Sheets("formulaire").Select
Application.CutCopyMode = False
Selection.ClearContents
Sheets("base de données").Select
Range("A3").Select

End Sub
 

laraviole

XLDnaute Junior
Re : petit bout de macro

Bonsoir,
Essaie
ge("B1:B9").Select
Selection.Copy
Sheets("base de données").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Range("A65535").End(xlUp).Offset(1, 0).Select
Sheets("formulaire").Select
Application.CutCopyMode = False
Selection.ClearContents
Sheets("base de données").Select
Range("A3").Select

Bonne soirée
 

laraviole

XLDnaute Junior
Re : petit bout de macro

Bonsoir,
Désolé je suis étourdi
Range("B1:B9").Select
Selection.Copy
Sheets("base de données").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Sheets("formulaire").Select
Application.CutCopyMode = False
Selection.ClearContents
Sheets("base de données").Select
Range("A65535").End(xlUp).Offset(1, 0).Select
 

dafunk74

XLDnaute Nouveau
Re : petit bout de macro

Merci pour ton aide mais ca ne fonctionne pas.
a chaque lancement de la macro, elle efface la première ligne et copie les nouvelles données au lieu de garder la ligne 1 et de passer en ligne 2.

si tu as une autre idée.....
 

dafunk74

XLDnaute Nouveau
Re : petit bout de macro

je viens de lire ton 2eme post, c'est identique, a chaque nouveau lancement il se positionne sur la première ligne.

mais peut etre que je me suis mal fait comprendre, en fait je voudrais creer une sorte de base de données, alimenté par un formulaire.

a chaque entrée je souhaite qu'il reprenne dans mon tableau les données du formulaire et qu'il passe à la ligne du dessous pour enregistrer les nouvelles et ainsi de suite....
 

laraviole

XLDnaute Junior
Re : petit bout de macro

Bonjour,
Si toute ta macro est là alors il faut:
Range("B1:B9").Select
Selection.Copy
Sheets("base de données").Select
Range("A65535").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Sheets("formulaire").Select
Application.CutCopyMode = False
Selection.ClearContents
Sheets("base de données").Select

Cordialement
 

Efgé

XLDnaute Barbatruc
Re : petit bout de macro

Bonjour dafunk74, laraviole, le fil, le forum,
Une proposition :
Code:
Sub test()
Derligne = Sheets("base de données").Range("A" & Application.Rows.Count).End(xlUp).Row + 1
Sheets("formulaire").Range("B1:B9").Copy
Sheets("base de données").Cells(Derligne, 1).PasteSpecial Paste:=xlPasteAll, Transpose:=True
Sheets("formulaire").Range("B1:B9").ClearContents
End Sub
Que l'on peut réduire à :
Code:
Sub test()
Sheets("formulaire").Range("B1:B9").Copy
Sheets("base de données").Cells(Sheets("base de données").Range("A" & Application.Rows.Count).End(xlUp).Row + 1, 1).PasteSpecial Paste:=xlPasteAll, Transpose:=True
Sheets("formulaire").Range("B1:B9").ClearContents
End Sub
Cordialement
 

Papou-net

XLDnaute Barbatruc
Re : petit bout de macro

Bonjour dafunk74, les participants,

Une autre solution (proche de celle de Efgé), mais comme je l'ai faite, je te la transmets.

Je n'efface pas le contenu sur la feuille1, je rajoute ce qui est sur la feuille 2.

Espérant avoir aidé.

Cordialement.
 

Pièces jointes

  • dafunk74.xls
    25.5 KB · Affichages: 54

dafunk74

XLDnaute Nouveau
Re : petit bout de macro

d'abord merci a tous pour votre aide ;)

cependant les propositions que vous me faites ne fonctionnent malheureusement pas.
je m'explique, j'ai 2 onglets, "base de données" et "formulaire" dans ce 2eme onglet je saisie les données sur la colonne B de la ligne 1 à 9, la colonne A etant remplie par les intitulés, l'idée c'est que c'est infos soient reprisent dans l'onglet "base de données" mais à l'horizontale en copiant par transposition puis que la ligne alimenté à la prochaine entrée de données soit celle du dessous. j'ai tésté toutes vos proposition mais mon probleme reste le meme, a chaque nouvelle entrée il efface la ligne 2 de l'onglet "base de données" (la première contenant les titres) pour y coller les nouvelles infos.

je pense que mon inexpérience dans le domaine n'aide pas mais j'ai pourtant fait un copier coller de vos proposition sans modifié quoi que ce soit.

en espérant me perfectionner et apporter ma contribution également, merci
 

Pièces jointes

  • BASE DE DONNEES.xls
    43.5 KB · Affichages: 66
  • BASE DE DONNEES.xls
    43.5 KB · Affichages: 60
  • BASE DE DONNEES.xls
    43.5 KB · Affichages: 62

Efgé

XLDnaute Barbatruc
Re : petit bout de macro

Re à tous, Bonjour Papou-net,
Je ne comprend pas votre phrase :
a chaque nouvelle entrée il efface la ligne 2 de l'onglet "base de données"
Sous 2003 il n'y a aucun problème.
Testez l'exemple que je vous poste : regarder votre base, il y a 5 lignes, clickez sur votre bouton et vous verrez qu'une 6em ligne va ce créer.
Cordialement
 

Pièces jointes

  • BASE DE DONNEES(2).zip
    14 KB · Affichages: 45
  • BASE DE DONNEES(2).zip
    14 KB · Affichages: 37
  • BASE DE DONNEES(2).zip
    14 KB · Affichages: 43

Discussions similaires

Réponses
2
Affichages
127

Statistiques des forums

Discussions
312 360
Messages
2 087 596
Membres
103 604
dernier inscrit
CAROETALEX59