> Tous les forumsBureautique

 Boutons d'option multiplesSujet résolu
Statut du sujet : RESOLU Imprimer
 quillet
  Posté le 28/05/2007 @ 16:24  
 Petit astucien

94 Messages

Bonjour à tous,

J'ai une base de données Excel se remplissant ligne après ligne alimentée par un formulaire (userform).

Dans ce formulaire, j'ai des texBox, des listes déroulantes, un frame avec 2 boutons d'options et un frame (FramCouleur) avec 3 boutons d'options ( Bleu, Blanc, Rouge) dont le code que j'ai inclu dans ma macro est le suivant:

Dim Ctrl As Control

For Each Ctrl In FramCouleur.Controls

If Ctrl.Object.Value=True Then

MsgBox Ctrl.Object.Caption

Exit For

End If

Next Ctrl

C'est ce frame 3 boutons qui me pose problème. Lorsque je rempli le formulaire et que je clique sur OK, la base de donnée se remplit correctement sauf la colonne Couleur. Par contre apparaît une petite fenêtre "Microsoft Excel" indiquant Bleu ou Blanc ou Rouge suivant l'option choisie dans le formulaire. Un click sur le bouton OK de cette fenêtre la fait disparaître mais la colonne couleur reste toujours vide. Que faut-il modifier dans la macro pour que toutes les colonnes se remplissent?

Je fais appel à vos lumières et vous en remercie par avance

 Afficher le profil de quilletEnvoyer un message privé à quillet
 
 
Publicité
 Bérylion  Posté le 28/05/2007 à 20:41  
Astucien


2329 Messages


Salut

avec ça, tu écris le nom de la couleur :
(pas évident non plus vu le peu d'info au départ...)

Dim Ctrl As Control

For Each Ctrl In FramCouleur.Controls

If Ctrl.Object.Value=True Then

Cells("n°ligne","n°colonne").value = Ctrl.Object.Caption
'remplacer n°ligne par une variable et n°colonne par une constante

Exit For

End If

Next Ctrl



Modifié par Bérylion le 28/05/2007 20:42
Afficher le profil de Bérylion Voir la configuration de BérylionEnvoyer un message privé à Bérylion
 Revenir en haut de la page
 quillet  Posté le 29/05/2007 à 15:14  
Petit astucien

94 Messages

Bonjour Bérylion

Si ma demande n'était pas assez explicite, tu trouveras, ci-dessous, le début de la base de données Excel ainsi que la macro que j'ai utilisée. (Comme je ne connais rien en langage VBA, j'ai fait cette macro en piochant un peu partout).

Je te remercie pour le temps que tu me consacres

Date

CubComitéCouleurSexeEngagtGain23-05-07A.S.OC.B.LBleuH50,00150,0024-05-07U.S.NP.B.BRougeF50,0080,00

'Transférer les données dans la base

Private Sub BtnOK_Click()

'Placer les données sur la 1ère ligne vide de la base

Range("A2").Select: Selection.End(xlDown).Select

ActiveCell.Offset(1, 0).Range("A1").Select

'Définir le format date et les formats numériques

TxtDate.Value = Format(TxtDate, "dd/mm/yy")

TxtEng.Value = Format(TxtEng.Value, "#,##0.00")

TxtGain.Value = Format(TxtGain.Value, "#,##0.00")

'Transfert du contenu des champs Dates,Club,Comité

With ActiveCell

.Offset(0, 0).Value = TxtDate

.Offset(0, 1).Value = ListClub

.Offset(0, 2).Value = ListCom

'Transfert des options Couleur(Bleu, Blanc, Rouge)

Dim Ctrl As Control

For Each Ctrl In FramStatut.Controls

If Ctrl.Object.Value = True Then

MsgBox Ctrl.Caption

Exit For

End If

Next Ctrl

'Transfert des options Sexe(Homme, Femme)

If OptHomme Then

.Offset(0, 4).Value = "H"

Else: .Offset(0, 4).Value = "F"

End If

'Transfert du contenu des champsEngagement et Gain.

Offset(0, 5).Value = TxtEng

.Offset(0, 6).Value = TxtGain

End With

End Sub

'Fermer le Formulaire

Private Sub BtnQuitter_Click()

Unload Me

End Sub Private Sub UserForm_Click()

End Sub



Modifié par quillet le 29/05/2007 15:21
Afficher le profil de quilletEnvoyer un message privé à quillet
 Revenir en haut de la page
 Bérylion  Posté le 29/05/2007 à 15:25  
Astucien


2329 Messages



comme ça en tas, c'est assez indigeste...



le mieux serait que tu mettes ton classeur en lien sur www.cjoint.com
pas besoin des données, 3 lignes suffisent ; par contre il me faut le code du usf et la structure de la base pour déchiffrer (défricher ? ) tout ça

il serait bon aussi de connaître la version d'excel avec laquelle ça a été pondu

A+

***************

EDIT :


essaie déja ça pour voir comme ça fait :

DateCubComitéCouleurSexeEngagtGain23-05-07A.S.OC.B.LBleuH50,00150,0024-05-07U.S.NP.B.BRougeF50,0080,00

'Transférer les données dans la base

Private Sub BtnOK_Click()

'Placer les données sur la 1ère ligne vide de la base

Range("A2").Select: Selection.End(xlDown).Select

ActiveCell.Offset(1, 0).Range("A1").Select

'Définir le format date et les formats numériques

TxtDate.Value = Format(TxtDate, "dd/mm/yy")

TxtEng.Value = Format(TxtEng.Value, "#,##0.00")

TxtGain.Value = Format(TxtGain.Value, "#,##0.00")

'Transfert du contenu des champs Dates,Club,Comité

With ActiveCell

.Offset(0, 0).Value = TxtDate

.Offset(0, 1).Value = ListClub

.Offset(0, 2).Value = ListCom

'Transfert des options Couleur(Bleu, Blanc, Rouge)

Dim Ctrl As Control

For Each Ctrl In FramStatut.Controls

If Ctrl.Object.Value = True Then

.Offset(0, 3).Value = Ctrl.Caption

Exit For

End If

Next Ctrl

'Transfert des options Sexe(Homme, Femme)

If OptHomme Then

.Offset(0, 4).Value = "H"

Else: .Offset(0, 4).Value = "F"

End If

'Transfert du contenu des champsEngagement et Gain.

Offset(0, 5).Value = TxtEng

.Offset(0, 6).Value = TxtGain

End With

End Sub

'Fermer le Formulaire

Private Sub BtnQuitter_Click()

Unload Me

End Sub Private Sub UserForm_Click()

End Sub





Modifié par Bérylion le 29/05/2007 15:30
Afficher le profil de Bérylion Voir la configuration de BérylionEnvoyer un message privé à Bérylion
 Revenir en haut de la page
 quillet  Posté le 29/05/2007 à 20:26  
Petit astucien

94 Messages

Rebonjour Bérylion et bravo.

C'est quand même chouette de s'y connaître en informatique.

Ta solution est excelente et tout fonctionne parfaitement. Toutes les colonnes de la base se remplissent.

Merci encore.

Afficher le profil de quilletEnvoyer un message privé à quillet
 Revenir en haut de la page
Haut de la page 
Inscrivez-vous !
- Posez vos questions

- Résolvez vos problèmes

- Aidez les autres

- Participez et créez vos discussions

- Dialoguez en privé avec d'autres membres

- Suivez vos sujets préférés

- Affichez les signatures des membres

TOUT EST GRATUIT !

Je crée mon compte



Vous avez besoin d'aide ?
Des centaines d'experts sont à votre disposition sur les forums PC Astuces pour vous aider gratuitement, 24h/24, 7j/7.

Les derniers sujets résolus !
 

 > Tous les forumsBureautique

 
Forum PC Astuces© 1997-2008 WebastucesAller en haut de la page