[VBA]Formulaire de saisies VBA excel

[Résolu]
Signaler
Messages postés
17
Date d'inscription
mardi 9 juin 2009
Statut
Membre
Dernière intervention
27 mars 2012
-
Messages postés
17
Date d'inscription
mardi 9 juin 2009
Statut
Membre
Dernière intervention
27 mars 2012
-
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

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
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

Bonjour,


NomDuTextBox.multiline = true
Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
10
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+
Messages postés
17
Date d'inscription
mardi 9 juin 2009
Statut
Membre
Dernière intervention
27 mars 2012

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

@+
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
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
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
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
Messages postés
17
Date d'inscription
mardi 9 juin 2009
Statut
Membre
Dernière intervention
27 mars 2012

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.
Messages postés
17
Date d'inscription
mardi 9 juin 2009
Statut
Membre
Dernière intervention
27 mars 2012

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?
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
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

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 !
Messages postés
17
Date d'inscription
mardi 9 juin 2009
Statut
Membre
Dernière intervention
27 mars 2012

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
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
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
Messages postés
17
Date d'inscription
mardi 9 juin 2009
Statut
Membre
Dernière intervention
27 mars 2012

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é!
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
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
Messages postés
17
Date d'inscription
mardi 9 juin 2009
Statut
Membre
Dernière intervention
27 mars 2012

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.