[VBA]Formulaire de saisies VBA excel

Résolu
schluc Messages postés 17 Date d'inscription mardi 9 juin 2009 Statut Membre Dernière intervention 27 mars 2012 - 27 mars 2012 à 07:58
schluc Messages postés 17 Date d'inscription mardi 9 juin 2009 Statut Membre Dernière intervention 27 mars 2012 - 27 mars 2012 à 22:14
Bonjour,

En espérant être sur le bon forum ;-)
Je dois réaliser un fichier excel avec un formulaire de saisie.
J'ai trouvé sur internet un code qui m'intéresse, que j'ai modifié +- selon mes besoins et que je vous présente ci-dessous car tous ne va pas comme je veux. Je précise que je suis débutant, que j'ai zappé des cours pour passer directement à la saisie de formulaire car c'est urgent.
A l'ouverture du fichier excel, le formulaire se met en route mais sur la deuxième textbox.
Je voudrais modifier le nom des textbox dans le code pour l'adapter à mes besoins, mais là erreur.
Même chose quand je veux rajouter une colonne dans le code.
Pouvez-vous m'aider à modifier ce code simplement sans fioriture de manière à ce que je puis (pour un débutant) le modifier si je dois rajouter des informations(rajout d'une colonne, textbox,...).
Voici ci dessous le code que j'utilise sous excel et qui fonctionne. Mais quand je change les label dans le code et dans les propriétés des textbox, erreur.
Je vous remercie tous d'avance.


Private Sub CommandButton_Fermer_Click()
Unload Me
End Sub

Private Sub CommandButton_Ajouter_Click()
'Coloration des Labels en noir
Label_Civilite.ForeColor = RGB(0, 0, 0)
Label_Nom.ForeColor = RGB(0, 0, 0)
Label_Prenom.ForeColor = RGB(0, 0, 0)
Label_Adresse.ForeColor = RGB(0, 0, 0)
Label_Lieu.ForeColor = RGB(0, 0, 0)

'Contrôles de contenu
If TextBox_Civilite.Value = "" Then
Label_Civilite.ForeColor = RGB(255, 0, 0)
ElseIf TextBox_Nom.Value = "" Then 'SI pas de "nom" ...
Label_Nom.ForeColor = RGB(255, 0, 0) 'Label "nom" en rouge
ElseIf TextBox_Prenom.Value = "" Then
Label_Prenom.ForeColor = RGB(255, 0, 0)
ElseIf TextBox_Adresse.Value = "" Then
Label_Adresse.ForeColor = RGB(255, 0, 0)
ElseIf TextBox_Lieu.Value = "" Then
Label_Lieu.ForeColor = RGB(255, 0, 0)

Else
'Si le formulaire est complet, on insère les valeurs sur la feuille
Dim no_ligne As Integer


'no_ligne = N° de ligne de la dernière cellule non vide de la colonne +1
no_ligne = Range("A65536").End(xlUp).Row + 1

'Insertion des valeurs sur la feuille
Cells(no_ligne, 1) = TextBox_Civilite.Value
Cells(no_ligne, 2) = TextBox_Nom.Value
Cells(no_ligne, 3) = TextBox_Prenom.Value
Cells(no_ligne, 4) = TextBox_Adresse.Value
Cells(no_ligne, 5) = TextBox_Lieu.Value

'Après insertion, on remet les valeurs initiales
TextBox_Civilite.Value = ""
TextBox_Nom.Value = ""
TextBox_Prenom.Value = ""
TextBox_Adresse.Value = ""
TextBox_Lieu.Value = ""

End If
End Sub

Private Sub UserForm_Click()

End Sub

15 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
27 mars 2012 à 17:12
Cela veut alors dire que tu n'as pas réglé les propriétés Tabindex dans le bon ordre, qui doit être :
Civilite: 0
Nom: : 1
Prenom: 2
Adresse: 3
Lieu: 4
Pays: 5



____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
3
Utilisateur anonyme
27 mars 2012 à 19:54
Bonjour,


NomDuTextBox.multiline = true
3
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
27 mars 2012 à 11:37
Salut,

game over et oui perdu au jeux de "qui peut trouver le bon thème"

Pour le VBA il y a un thème spécifique !

Concernant ton problème... pas clair du tout !!! un exemple :

Je voudrais modifier le nom des textbox dans le code pour l'adapter à mes besoins, mais là erreur.


rien compris !

Apres quelle modif ?
Quelle est l'erreur renvoyée ?

A+
0
schluc Messages postés 17 Date d'inscription mardi 9 juin 2009 Statut Membre Dernière intervention 27 mars 2012
27 mars 2012 à 12:58
Ok, reprenons pour le souci du positionnement du curseur (les autres soucis j'ai réussi à trouver):

Dans un premiers temps, à l'ouverture de mon fichier excel, j'ai mon formulaire de saisie qui s'ouvre correctement.
exemple de formulaire de saisie que j'adapterai par la suite:

Civilite:
Nom:
Prenom:
Adresse:
Lieu:
Pays:

---Fermer------Ajouter


Dès l'ouverture de mon formulaire de saisie, le curseur se met directement au niveau du Nom . Puis, par des "Enter" il descend au fur et à mesure. Sauf qu'après "Lieu", il va directement sur le bouton "Ajouter" en attente du Enter pour l'ajouter dans mon tableau excel. Donc je souhaiterais que à l'ouverture le curseur se positionne sur Civilité et qu'il termine par Pays.
Et je n'arrive pas à trouver ce qui cloche dans le code pour changer cela.

J'espère avoir été clair pour ce souci cette fois
Merci

@+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
27 mars 2012 à 15:07
Bonjour,
Tout porte à croire que tu as mis à false la propriété Tabstop des textboxes Civilié et Pays ! Car alors, évidemment ...


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
27 mars 2012 à 15:12
Idem, bien sûr, si leur propriété enabled = false
Les deux (tant tabstop que enabled) doivent bien évidemment être à True, si tu veux t'y arrêter.
On ne peut à la fois bloquer un accès et vouloir l'utiliser !


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
schluc Messages postés 17 Date d'inscription mardi 9 juin 2009 Statut Membre Dernière intervention 27 mars 2012
27 mars 2012 à 15:55
Merci de votre réponse, mais ces deux propriétés sont notées TRUE.
J'ai bien veillé à mettre la même chose que les autres.
0
schluc Messages postés 17 Date d'inscription mardi 9 juin 2009 Statut Membre Dernière intervention 27 mars 2012
27 mars 2012 à 19:42
Super merci c'était bien ça .Voilà une chose de réglé. Mon autre souci maintenant, lors du remplissage d'une textbox dans le formulaire de saisie, le texte entrée ne va pas à la ligne au bout de la textbox. Tout le texte entrée se met en une seule ligne alors que ma textbox mesure 5cm sur 7cm +-. Comment faire pour un retour à la ligne?
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
27 mars 2012 à 20:16
Ce ne sera pas un "retour à la ligne", alors, mais un simple affichage sur plusieurs lignes d'affichage (simple présentation) dans la textbox. Ce n'est pas pareil.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
Utilisateur anonyme
27 mars 2012 à 20:46
Bonjour,

Alors, il lui reste juste à trouver le nombre de mots qu'il peut mettre dans sa ligne, les concaténer et ajouter un chr(13) au bout de sa ligne. Un jeu d'enfant, quoi !
0
schluc Messages postés 17 Date d'inscription mardi 9 juin 2009 Statut Membre Dernière intervention 27 mars 2012
27 mars 2012 à 20:54
C'est super sympa, problème à nouveau réglé.
Merci à tout ceux qui m'ont aidé.
Je continue mon formulaire et en cas de problème,..je poste ici
A bientôt, j'en suis presque sûr
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
27 mars 2012 à 21:00
Je continue mon formulaire et en cas de problème,..je poste ici

Certainement pas !
Ici : on n'ouvre pas une discussion pour "conduire" une appli, mais pour traiter un problème spécifique et isolé.
Il est déjà assez anormal que deux problèmes distincts l'aient été !
Si le problème qui a fait l'onjet de l'ouverture d'une discussion est réglé ===>> tag "réponse acceptée".
Si nouveau (distinct) problème ===>> discussion également distincte, hein ...
Tu es prié de de conformer à cette discipline élémentaire. Merci de le faire !

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
schluc Messages postés 17 Date d'inscription mardi 9 juin 2009 Statut Membre Dernière intervention 27 mars 2012
27 mars 2012 à 21:38
ok ok faut pas t'exciter.
Mais chacun de mes problèmes distinct ont été à l'origine un problème spécifique et isolé pour reprendre tes termes.
Sinon pas de souci, j'essayerai de me conformer à cette discipline élémentaire. C'est si poliment demandé!
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
27 mars 2012 à 21:48
Je ne m'excite pas, ami.
Mais une autre fois :
1) ici : un problème à la fois, spécifique et isolé.
2) je ne vois toujours pas ton appui sur "réponse acceptée".

Tu vas te retrouver vite seul, dans ce cas.

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
schluc Messages postés 17 Date d'inscription mardi 9 juin 2009 Statut Membre Dernière intervention 27 mars 2012
27 mars 2012 à 22:14
Ben je me suis senti quand même agressé.
Mais sinon si, j'ai cliqué sur "réponse acceptée" quand cela à réglé mon problème.
Mais t'inquiète, je me conformerai le plus possible à la façon de vivre du forum.
0
Rejoignez-nous