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"

1 réponse

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    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