couleur et formulaire

  • Initiateur de la discussion Initiateur de la discussion sonic730
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

S

sonic730

Guest
Bonjour à tous

Déjà merci par avance pour vos réponses et vos remarques.
J'aurais 2 petites questions.

La plus simple :
Comment dans un formulaire passer d'un champ à l'autre en faisant TAB ?
J'ai essayé plein d'options différente, mais surement pas les bonnes.

La seconde :
Avec un formulaire, je remplis un journal.
J'aimerais après validation du formulaire, que les champs inscrits prennent une couleur spécifique dans le journal.
Est-ce possible, et comment faire ?

Merci
 
Re : couleur et formulaire

La plus simple :
Comment dans un formulaire passer d'un champ à l'autre en faisant TAB ?
J'ai essayé plein d'options différente, mais surement pas les bonnes.

Dans ton formulaire en design mode click sur le bouton de droite
avec la souris et choisi pour moi j'ai une version anglaise a ca m'indique tab order click dessus et choisis ce que tu
 
Re : couleur et formulaire

La seconde :
Avec un formulaire, je remplis un journal.
J'aimerais après validation du formulaire, que les champs inscrits prennent une couleur spécifique dans le journal.
Est-ce possible, et comment faire ?
Encore ma version anglais sous le menu "Format" choisit l'option "Conditional Formatting"
 
Re : couleur et formulaire

Bonjour à tous,

Alors, dans une version française :

Dans Visual Basic Editor, affiche ton Userform
Menu Affichage - Ordre de tabulation
(sinon la version manuelle est de modifier la propriété TabIndex de chaque contrôle)

Si je comprends bien, tu souhaites que dans ta feuille de calcul, les dernières données ajoutées (ou modifiées ?) passent dans une autre couleur, pour identifier les dernières données ajoutées (modifiées)

Pourquoi ne pas leur appliquer un fond de couleur simple ? à moins que tu ne gères une date d'ajout (modification) auquel cas la mise en forme conditionnelle (du menu Format) peut faire l'affaire
 
Re : couleur et formulaire

Merci tototiti2008

1) En fait j'ai oublié de préciser une info primordiale (je suis vraiment navré...)
Dans mon formulaire il il y des textbox mais aussi des combobox. se sont sur ces dernières que la touche TAB ne fonctionne pas.

2) Pour ce qui est des couleurs.
J'ai en fait plusieurs formulaires, et je voudrais que suivant lequel je remplis, une couleur soit attribué dans la feuille de calcul, pour tous les champs remplis dans le formulaire.
J'espère avoir été clair... sinon pas de problème demande moi ce que tu veux.

Merci
 
Re : couleur et formulaire

Re,

1) En fait j'ai oublié de préciser une info primordiale (je suis vraiment navré...)
Dans mon formulaire il il y des textbox mais aussi des combobox. se sont sur ces dernières que la touche TAB ne fonctionne pas.

Moi si je crée un Userform et que je mets des Textbox et des Combobox, Menu Affichage - Ordre de tabulation me les affiche tous
Si tes Combobox ne sont pas parcourues par Tab, vérifie leurs propriétés TabStop (qui doit être à True)

2) Pour ce qui est des couleurs.
J'ai en fait plusieurs formulaires, et je voudrais que suivant lequel je remplis, une couleur soit attribué dans la feuille de calcul, pour tous les champs remplis dans le formulaire.
J'espère avoir été clair... sinon pas de problème demande moi ce que tu veux.

Pour ça il nous faudrait certainement un peu plus de précisions...
juste un bout de fichier exemple, peut-être ?
 
Re : couleur et formulaire

pour ce qui est de la touche TAB c'est bon.
C'était le tabindex qui n'allait pas et les tabstop qui étaient à false

Je vous joint le code pour les couleurs.

Private Sub cmdajouter_Click()
Dim NumLigneVide As Integer
'on active la Feuille "Journal"
Worksheets("journal").Activate
'On trouve la dernière ligne vide du tableau, et on enregistre le numéro de la ligne dans la variable NumLigneVide
NumLigneVide = Sheets("journal").Cells(65000, 1).End(xlUp).Row + 1
'On vérifie que les champs obligatoires sont rempli correctemment
If txtaction.Text = "" Then
MsgBox "veuillez indiquer ce que vous voulez faire", vbCritical, "Champs manquant"
txtaction.SetFocus
ElseIf txtappeln°.Text = "" Then
MsgBox "veuillez entrer le numéro de l'appel", vbCritical, "Champs manquant"
txtappeln°.SetFocus
ElseIf txtdateappel.Text = "" Then
MsgBox "veuillez indiquer la date d'emission de l'appel", vbCritical, "Champs manquant"
txtdateappel.SetFocus
ElseIf txtmembres.Text = "" Then
MsgBox "veuillez indiquer qui va payer l'appel", vbCritical, "Champs manquant"
txtmembres.SetFocus
ElseIf txtmontantappel.Text = "" Then
MsgBox "veuillez mettre un montant d'appel de charges", vbCritical, "Champs manquant"
txtmontantappel.SetFocus
ElseIf txtcomptecopro.Text = "" Then
MsgBox "veuillez indiquer le compte de la copropriété", vbCritical, "Champs manquant"
txtcomptecopro.SetFocus
ElseIf txtdébitcomptemembres.Text = "" Then
MsgBox "veuillez indiquer le montant demandé au copropriétaire", vbCritical, "Champs manquant"
txtdébitcomptemembres.SetFocus
ElseIf txtcréditcomptecopro.Text = "" Then
MsgBox "veuillez indiquer le montant avancé sur le compte de la copropriété", vbCritical, "Champs manquant"
txtcréditcomptecopro.SetFocus
Else
'On enregistre les données
ActiveSheet.Cells(NumLigneVide, 1) = (txtaction.Text)
ActiveSheet.Cells(NumLigneVide, 2) = UCase(txtappeln°.Text)
ActiveSheet.Cells(NumLigneVide, 3) = UCase(txtdateappel.Text)
ActiveSheet.Cells(NumLigneVide, 5) = UCase(txtmembres.Text)
ActiveSheet.Cells(NumLigneVide, 7) = UCase(txtmontantappel.Text)
ActiveSheet.Cells(NumLigneVide, 8) = (txtcomptecopro.Text)
ActiveSheet.Cells(NumLigneVide, 10) = UCase(txtdébitcomptemembres.Text)
ActiveSheet.Cells(NumLigneVide, 11) = UCase(txtcréditcomptecopro.Text)
'On efface le formulaire et on replace le curseur sur le premier champs (Appel n°)
txtaction.Text = ""
txtappeln°.Text = ""
txtdateappel.Text = ""
txtmembres.Text = ""
txtmontantappel.Text = ""
txtcomptecopro.Text = ""
txtdébitcomptemembres.Text = ""
txtcréditcomptecopro.Text = ""
txtaction.SetFocus
End If
End Sub

Private Sub UserForm_Initialize()
Me.txtaction.RowSource = "journal!U11:U" & Sheets("journal").Cells(11, 21).End(xlDown).Row
Me.txtcomptecopro.RowSource = "journal!T11:T" & Sheets("journal").Cells(11, 20).End(xlDown).Row
Me.txtmembres.RowSource = "journal!Q11:Q" & Sheets("journal").Cells(11, 17).End(xlDown).Row
Me.txtappeln°.RowSource = "journal!V11:V" & Sheets("journal").Cells(11, 22).End(xlDown).Row
End Sub

Private Sub UserForm_Activate()
Me.txtmembres.ListIndex = -1
Me.txtappeln°.ListIndex = -1
Me.txtcomptecopro.ListIndex = -1
Me.txtaction.ListIndex = -1
End Sub

Private Sub CmdFermer_Click()
frmnouvelappel.Hide
End Sub
 
Re : couleur et formulaire

Re,

peut-être comme ça

Code:
'On enregistre les données
ActiveSheet.Cells(NumLigneVide, 1) = (txtaction.Text)
ActiveSheet.Cells(NumLigneVide, 2) = UCase(txtappeln°.Text)
ActiveSheet.Cells(NumLigneVide, 3) = UCase(txtdateappel.Text)
ActiveSheet.Cells(NumLigneVide, 5) = UCase(txtmembres.Text)
ActiveSheet.Cells(NumLigneVide, 7) = UCase(txtmontantappel.Text)
ActiveSheet.Cells(NumLigneVide, 8) = (txtcomptecopro.Text)
ActiveSheet.Cells(NumLigneVide, 10) = UCase(txtdébitcomptemembres.Text)
ActiveSheet.Cells(NumLigneVide, 11) = UCase(txtcréditcomptecopro.Text)
[COLOR=red]Activesheet.range("A" & NumLigneVide & ":K" & NumLigneVide).Interior.ColorIndex = 3[/COLOR]
 
Re : couleur et formulaire

C'est presque bon, sauf que je voudrais seulement les cases rempli et pas toute la ligne de A à K.
C'est à dire A B C E G H J K.

Comment peut on connaitre le code couleur que l'on veut mettre.
Dans ton exemple apparemment le 3 correspond au rouge. Si je veux mettre autre chose comment faire ?

Merci
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

A
Réponses
14
Affichages
2 K
P
Réponses
5
Affichages
2 K
Pierredlv88
P
B
Réponses
15
Affichages
8 K
Biasloler
B
S
Réponses
3
Affichages
808
Z
Réponses
0
Affichages
2 K
zephirsoul
Z
M
Réponses
2
Affichages
5 K
M
Retour