IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Userform


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Inscrit en
    Août 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 21
    Par défaut Userform
    Bonjour a tous

    je dois creer un formulaire sous excell pour les salaries de mon entreprise ou il saisissent leurs frais professionnels.

    Je n'en suis qu'a la premier partie de mon formulaire ou ils saisissent leurs references.


    Ma userform se presente comme suit:

    Surename:_____________________
    Forename:_____________________
    Period: From_____________________ To______________________
    Claim Reference:___________________

    Avec Trois Boutons:

    Save Data: permet d'enregistrer les donnees saisies dans le tableau Excell
    Next: Qui passera a l'etape suivante
    Cancel: qui devra effacer la derniere ligne enregistre par Save Data


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    Private Sub CancelBot_Click()
    Unload Me
    End Sub
     
     
    Private Sub Nextbot_Click()
     
    'second Userform en route
     
    End Sub
     
     
    Private Sub SaveData_Click()
    If Me.Sname.Value = "" Then
    MsgBox "You need to type a Surename"
    Me.Sname.SetFocus
    End If
    If Me.Fname.Value = "" Then
    MsgBox "You need to type a Forename"
    Me.Fname.SetFocus
    End If
    If Me.Fperiod.Value = "" Then
    MsgBox "You need to type a start period"
    Me.Fperiod.SetFocus
    End If
    If Me.Tperiod.Value = "" Then
    MsgBox "You need to type an End period"
    Me.Tperiod.SetFocus
    End If
    If Me.Claim.Value = "" Then
    MsgBox "You need to type a Claim reference"
    Me.Claim.SetFocus
    End If
     
    Snameconvert = Application.WorksheetFunction.Proper(Me.Sname.Text)
    Fnameconvert = Application.WorksheetFunction.Proper(Me.Fname.Text)
    Fperiod = Application.WorksheetFunction.Proper(Me.Fperiod.Text)
    Tperiod = Application.WorksheetFunction.Proper(Me.Tperiod.Text)
    Claim = Application.WorksheetFunction.Proper(Me.Claim.Text)
     
    Range("B65536").End(xlUp).Offset(1, 0).Value = Snameconvert
    Range("C65536").End(xlUp).Offset(1, 0).Value = Fnameconvert
    Range("D65536").End(xlUp).Offset(1, 0).Value = Fperiod
    Range("E65536").End(xlUp).Offset(1, 0).Value = Tperiod
    Range("A65536").End(xlUp).Offset(1, 0).Value = Claim
     
     
    End Sub

    Je rencontre 2 Pbs:

    1- Je ne sais pas comment demander au bonton Cancel d'annuler la derniere ligne enregistre par le Bouton Save Data

    2- save Data ferme ma Userform et ca je ne veux pas, ca sera Next qui devra la fermer en ouvrant une autre ou Cancel en effacant la derniere ligne.


    Enfin, le bouton Save data doit vous sembler inutile (a moi aussi) mais je l'ai creer parce que je savais pas comment faire toute les fonctions souhaite avec le bouton Next

    Au depart Next devait faire ca:
    1- Enregistre les donnes dans les lignes si tout est remplis
    2- Signaler si des cases sont vides
    3- Obliger a remplir ses cases
    4- Une fois tout rempli et enregistre dans le tableau excell passer a la Userform2 (non creer pour le moment)

    Je pense que ca doit etre simple mais je sais pas comment faire.

    Merci d'avance pour l'aide apporte

    Ps: si qq'un peut aussi me montrer comment faire pour le format date des cellules period from et to, ca serait la cerise sur le gateau.

    Thanks

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Par défaut
    Salut
    Tu peux donner un fichier d'exemple avec juste la feuille à remplir et le USF ? Ce serait plus facile

    juste une remarque en passant :
    tu copies tes infos sur une ligne ! Bien que se soit impossible ( Personne ne ferait une ânerie pareille ) si quelqu'un supprime une cellule, t'es pas prêt de trouver l'erreur et de la corriger.
    Tu détemines une colonne en référence, et toutes les autres référence de lignes sont calquées dessus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Range("B65536").End(xlUp).Offset(1, 0).Value = Snameconvert
    Range("C" & [B65536].End(xlUp).Row) = Fnameconvert
    Range("D" & [B65536].End(xlUp).Row) = Fperiod
    etc....
    A+

Discussions similaires

  1. VBA : ouverture d'un Userform sans passer par excel
    Par jemigo dans le forum Macros et VBA Excel
    Réponses: 28
    Dernier message: 23/11/2005, 16h28
  2. [VBA]Userform mobile dans une feuille excel
    Par fikren dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 28/10/2005, 15h45
  3. [Excel VBA] Boucler sur un userform
    Par tpv72 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/09/2005, 01h57
  4. VBA Excel : Appel d'un userform à l'aide d'une variable
    Par pierrot657 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 01/06/2005, 23h08
  5. [VBA EXCEL] Réduire/Agrandir UserForms
    Par Fench dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/11/2003, 16h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo