Enregistrement de données d'un formulaire

Bonjour, à tous,

Je suis débutant en VBA et depuis que j'ai découvert ce mode de programmation cela me passionne.

Je viens de créer un formulaire dans lequel on peut inscrire des informations (dates, réf, choix y, y, commentaires, etc...) et qui se retrouvent, par les propriétés des différents objets, dans une feuille (Données) d'Excel.

J'ai installé un bouton "Validation des données" afin de valider la première série de données entrées dans le formulaire avec le code suivant (récupéré sur un site de formation bénévole) :

Private Sub CommandButton_1Click()
Rows ("2:2").Select
  Selection.Insert Shift:"xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

    Unkoad Userform1
    Load Userform1
 Userform1.Show
End Sub

Le code permettrait de déplacer la ligne saisie dans la feuille de "récap" d'une ligne vers le bas afin de dégager la ligne de référence pour les inscription des données futures. ...(Suis-je clair...?).

Mon problème vient du fait que l'instruction "CopyOrigin:=xlFormatFromLeftOrAbove" ne soit pas reconnue (malgré l'exemple fourni par le site de formation...code qui fonctionne car vu en vidéo).

Donc, en résumé : est-ce la version d'excel 2000 (ou vba?) qui ne supporte pas cette instruction?

Si oui ==> quelle doit être le code pour enregistrer les données et faire descendre les données de la ligne 2 à la ligne 3 (par exemple). Si j'abusais , je vous demanderais comment faire pour que les données s'inscrivent ligne après ligne en séquence (L2, puis L3, puis L4, Etc,...).

Si non ==> où se trouve l'erreur dans ce code ?

Merci pour votre patience (à me lire, comprendre mon problème) et pour votre réponse.

Bonsoir

Erreur de frappe ?

Selection.Insert Shift:"xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

il faut

Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

Edit en relisant trouvé une autre erreur

Unkoad Userform1 à la place de UnLoad Userform1

Code complet

  Rows("2:2").Select
  Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
  Unload UserForm1
  Load UserForm1
  UserForm1.Show

Bonsoir le Forum,

Effectivement, j'ai fait une erreur de retranscription (je n'avais pas mon code sous la main : donc pas de 'CtrlV, CtrlC'.

J'ai donc vérifier ce soir et j'ai bien le code suivant :

Private Sub CommandButton2_validation_Click()

Rows("2:2").Select

Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

Unload UserForm1

Load UserForm1

UserForm1.Show

End Sub

Et donc lorsque je teste le code j'ai l'erreur suivante :

'Erreur de compilation : Variable non définie"

(Je suis sous Excel 2000)

Je joints mon fichier avec le userform.

Merci d'être indulgent, c'est mon premier formulaire et il n'est pas fini...loin de là..

Merci pour votre réponse

Salut le forum

Aucun code VBA dans le fichier fourni. . .

Mytå

Bonsoir

Il semblerait que cette option ne soit pas reconnue par Excel 2000

A voir (en Anglais)

http://www.mrexcel.com/forum/showthread.php?t=507696

Solution adaptée à ton cas

  Rows("2:2").Select
  Selection.Insert Shift:=xlDown
  Selection.Offset(1, 0).Copy
  Selection.PasteSpecial Paste:=xlPasteFormats

Vous êtes vraiment super !!!!

Ca marche !!!

Je pense que je vais faire évoluer ma version d'Excel !

MERCI ENCORE et au plaisir de vous lire sur le forum !

Rechercher des sujets similaires à "enregistrement donnees formulaire"