Allez plus loin dans le numérique
129 utilisateurs connectés

[N°182] Elaborer un formulaire excel

gus1962 le 29 mars 2006 à 18h37
J'ai office XP. J'ai essayé de faire le formulaire en suivant pas à pas mais il n'y a rien à faire lorsque je recopie le listing 1 ou 2, cela ne fonctionne pas. Erreur de parenthèses entre autre....bref je ne maitrise pas le VBA et je ne vois pas l'erreur !
Merci de vos lumières :??:
-->Message édité par Helger le 08/09/2008 10:17:24<--
Helger le 02 avril 2006 à 11h37
Hello.
Lsi ce post.

Si souci, ;)
-------
Hypocrite lecteur, mon semblable, mon frère
Nous avons dit souvent d'impérissables choses

Une suite de petites volontés fait un gros résultat

[:fbc:4][:fbc:5][:fbc:6][:fbc:7]
gus1962 le 05 avril 2006 à 18h30
J'ai effectué toutes les corrections plus qq autres mais le formulaire ne fonctionne tjs pas correctement
1. les info se décalement d'une colonne (le nom à la place du prénom, le prénom à la place du sexe etc)
2. le formulaire se ferme après la 1ere saisie (quel est l'intérêt de faire un formulaire pour une seule saisie ?)
3. du coup, il recommence toujours à la ligne 2 et efface le précédent enregistrement au lieu de descendre d'une ligne à chaque nouvel enregistrement

donc il doit manquer qq instructions...
merci de votre aide. C'est super : je galère mais je progresse!
romat le 09 avril 2006 à 16h01
Bonjour, si tu as bien suivi toutes les instructions notées sur OI, le code ci après fonctionne très bien sur mon ordi:
Sub saisie()
Range("A1").Select
If Range("A2") = "" Then
Range("A1").Select
Else
Range("A1").Select: Selection.End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Range("A1").Select
With FrmSaisie
' alimentation liste des régions
.lstregion.AddItem "Est"
.lstregion.AddItem "Nord"
.lstregion.AddItem "Ouest"
.lstregion.AddItem "Sud"
.lstregion.AddItem "Centre"
.lstregion.AddItem "Paris"
' alimentation liste des spécialités
.lstspecialites.AddItem "Avions"
.lstspecialites.AddItem "Bateaux"
.lstspecialites.AddItem "Trains"
.lstspecialites.AddItem "Voitures"
.Show
End With
End Sub
gus1962 le 10 avril 2006 à 18h11
Merci de tes corrections; cela fonctionne bcp mieux. Cependant, le formulaire se ferme toujours à la fin de la 1ère saisie.... il manque donc l'instruction pour faire boucle.... jusqu'à la fin de la saisie.
Merci d'avance
:)
romat le 11 avril 2006 à 05h12
Bonjour, as-tu bien entré le code pour chaque bouton (OK et Annuler) ?

Private Sub btnannuler_Click()
Unload Me
End Sub

Private Sub btnok_Click()
While Not IsNumeric(txtcotisation)
txtcotisation = InputBox("Valeur numerique pour la cotisation, svp")
Wend
With ActiveCell
.Offset(0, 0).Value = UCase(txtnom)
.Offset(0, 1).Value = txtprenom
If Opthomme Then
.Offset(0, 2).Value = "M"
Else
.Offset(0, 2).Value = "F"
End If
.Offset(0, 3).Value = txtcotisation
.Offset(0, 4).Value = lstspecialites.Value
.Offset(0, 5).Value = lstregion.Value
End With
Unload Me
End Sub
romat le 11 avril 2006 à 09h12
Pour améliorer, j'ai remanié les listings 1 et 2 comme suit:

Sub saisie()
With FrmSaisie
' alimentation liste des régions
.lstregion.AddItem "Est"
.lstregion.AddItem "Nord"
.lstregion.AddItem "Ouest"
.lstregion.AddItem "Sud"
.lstregion.AddItem "Centre"
.lstregion.AddItem "Paris"
' alimentation liste des spécialités
.lstspecialites.AddItem "Avions"
.lstspecialites.AddItem "Bateaux"
.lstspecialites.AddItem "Trains"
.lstspecialites.AddItem "Voitures"
.Show
End With
End Sub
Private Sub btnok_Click()
Range("A2").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Range("A1").Select
While Not IsNumeric(txtcotisation)
txtcotisation = InputBox("Valeur numerique pour la cotisation, svp")
Wend
With ActiveCell
.Offset(0, 0).Value = UCase(txtnom)
.Offset(0, 1).Value = txtprenom
If Opthomme Then
.Offset(0, 2).Value = "M"
Else
.Offset(0, 2).Value = "F"
End If
.Offset(0, 3).Value = txtcotisation
.Offset(0, 4).Value = lstspecialites.Value
.Offset(0, 5).Value = lstregion.Value
End With
txtnom.Value = ""
txtprenom.Value = ""
txtcotisation.Value = ""
lstspecialites.Value = ""
lstregion.Value = ""
Opthomme.Value = ""
Optfemme.Value = ""
End Sub

Je n'ai pas encore trouvé l'instruction pour mettre le curseur dans le champs "Nom" à chaque nouvel enregistrement !
A+
romat le 12 avril 2006 à 08h37
Bonjour, ça y est! A la fin du programme, remplacer les 2 instructions de réinitialisation et ajouter celle qui met le curseur dans le champs "txtnom":
Opthomme.Value = False
Optfemme.Value = False
txtnom.SetFocus
A bientôt.
cbsr85 le 20 avril 2006 à 18h18
romat a écrit :
Bonjour, ça y est! A la fin du programme, remplacer les 2 instructions de réinitialisation et ajouter celle qui met le curseur dans le champs "txtnom":
Opthomme.Value = False
Optfemme.Value = False
txtnom.SetFocus
A bientôt.


Bonjour. Pour placer le curseur dans le champs "TxtNom" dès l'ouverture du formulaire, il suffit de mettre la propriété TabIndex à 1.


AIDE DU FORUM

FORUMS THÉMATIQUES

FORUMS GÉNÉRAUX

publicité
> 01netPro :
Rubrique Emplois
Consultez les actualités et les dernières offres.

Service 01net
Newsletters 01net
abonnez vous gratuitement !
  
01Informatique
01 INFORMATIQUE
L'hebdo de référence des décideurs informatiques.
Micro Hebdo
MICRO HEBDO
L'hebdo qui vous simplifie la micro
et Internet.
L'Ordinateur Individuel
L'ORDINATEUR INDIVIDUEL
Le mensuel informatique qui vous informe et vous conseille.
Nous contacter  |  Charte de confiance  |  Voir notice légale

01net.  -  01men  -  RMC  -  BFM Radio  -  BFM TV  -  TousLesPodcasts  -  01informatique.fr  -  Association RMC-BFM
Tous droits réservés © 1999 - 2009 Internext - 01net.