Macro excel

dafunk74 -  
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   -
bonsoir,
je voudrais créer 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....

j'ai fait ca mais ca marche pas quelqu'un peux t'il m'aider ?

"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"

A voir également:

1 réponse

pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 768
 
Bonjour,
Tout d'abord un peu de syntaxe.
Inutile de sélectionner pour copier et/ou pour coller. Il suffit simplement de copier ou coller. Pour copier :
Sheets("Formulaire").Range("B1:B9").Copy

La première ligne vide de la colonne A de la feuille base de données se code :
Sheets("Base de données").Range("A65536").End(xlUp).Offset(1, 0)

Donc pour coller à cet emplacement :
Sheets("Base de données").Range("A65536").End(xlUp).Offset(1, 0).Paste

Pour effacer le contenu de cellules (dans le formulaire par exemple) :
Sheets("Formulaire").Range("B1:B9").ClearContents

Et pour finir un petit message lorsque la macro est finie :
MsgBox "Enregistrement terminé"

Ce qui nous donne avec un collage spécial "transposé" :
Sheets("Formulaire").Range("B1:B9").Copy 'copier les cellules du formulaire
Sheets("Base de données").Range("A65536").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True 'le collage spécial transposé sur la première ligne vide de la colonne A de la base de données
Sheets("Formulaire").Range("B1:B9").ClearContents 'effacement des données
Sheets("Formulaire").Range("B1").Activate 'activation de la cellule B1
MsgBox "Enregistrement terminé" 'petit message de fin
0