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 !

Laisse moi rire

XLDnaute Occasionnel
Salut a toutes et tous

C'est a rien n'y comprendre.

J'utilise ce code, pour tester si le controle et rempli, le mettre dans une variable, de manière a remplire un TextBox dans une feuille.

'=============================================
'Test des controls pour remplissage du control
'=============================================
'Pour la date et le lieu dela prestation
If txtDateDeLaPrestation > '' Then DatePrestation = vbCrLf _
& 'Cette prestation aura lieu le ' _
& txtDateDeLaPrestation.Value
If cbxNomDeSalle > '' Then NomDeSalle ', à ' _
& cbxNomDeSalle.Value
If txtLieuSalle > '' Then NomDeSalle ' de ' _
& txtLieuSalle.Value

Mais cela me génère une erreur (sur la partie en bleue):

Sub, Function ou Property attendue

Alors que j'utilise la même chose (Sauf que le controle n'est pas le même, mais j'ai modifié le nom), a ce niveau.

'Pour la réduction appliquée en pourcentage
If cbxReduction > '' Then RéductionEuros = vbCrLf & vbCrLf _
& 'Une réduction de ' & cbxReduction.Value & ' %, a été appliquée.' _
& vbCrLf & vbCrLf & 'Le montant de cette réduction d'élève a ' _
& txtMontantRemiseEuros & ' €uros, ' _
& ' soit ' & txtMontantRemiseFrancs & ' Francs.'

La variable est déclaré comme suit :

Dim DatePrestation, NomDeSalle As String

Qu'es-ce qu'il peu clocher?

Es-ce du aux données contenue dans le control?


Merci d'avance, G'Claire

Message édité par: GClaire, à: 12/11/2005 10:09
 
bonjour Gclaire
sans pouvoir essayer c'est difficile
mais si tu es ds une procédure de validation je mettrais les tests au début
exemple
If cbxNomDeSalle.Value = '' Then
msgbox 'Entrer un nom de salle'
cbxNomDeSalle.setfocus
endif
ensuite
NomDeSalle = ', à ' & cbxNomDeSalle.Value
à bientôt
 
Bonjour G'Claire, Bébère, le Forum

Oui je suis d'accord avec Bébère, sans avoir un exemple c'est un peu abstrait et je n'ai pas trop le temps de refaire un UserForm pour matérialiser ce problème.

En règle générale, une ComboBox est plus facile à gérer qu'une ListBox puisqu'elle peut être testée comme le préconise Bébère, car elle réagira comme une TextBox ayant la valeur vide ('') et pas 'Nothing' comme une ListBox, cependant le message :

Sub, Function ou Property attendue

Laisse entendre que c'est la Valeur Nothing qui est retournée... J'y perds un peu mon latin.... Est-ce que 'cbxNomDeSalle' est bien une ComboBox ?

Bon Aprèm et Courage
[ol]@+Thierry[/ol]
 
Bébère, le forum

En faite c'est pas un test a la validation, mais c'est pour remplir le control de la feuille, avec seulement les controls remplient dans l'userForm.

De cette manière si un controle n'est pas rempli, dans le textbox de la feuille, il n'y figurera pas et laissera la place au controle rempli suivant.

Voila la raison de mon code.

Merci beaucoup, G'Claire
 
Bébère, le forum

je viens de regarder, il manque bien les deux controls, mais a priri je n'ai pa vu de commentaires, car je ne sais pas si on peu enregistrer les modification directement sur leur site.

Pour le manque des deux controls c'est normale, car j'essaye de mettre les données qui devaintt aller dans ces controls, dans le control général : 'txtConclusions'.

Merci, G'Claire
 
rebonjour
les commentaires sont dans le code
plus haut et plus bas que ce qui suit
'=============================================
'Test des controls pour remplissage du control
'=============================================
j'ai ajouté les deux textbox,essayé et pas de code d'erreur
changé le code de la variable nom de salle
With Sheets('Contrat_recto')
'Envoie dans le controle le N° de contrat
.txtContrat = 'Contrat numéro ' & USF_FicheDeRenseignements.lblNDeContrat
'Envoie dans le controle le type de soirée
.txtTypeDeSoiree = USF_FicheDeRenseignements.cbxTypeDeSoiree
'Envoie dans le controle les données Organisateur 1
.txtClient = 'Mme ' & USF_FicheDeRenseignements.txtNomDeLaMariee & ' ' & USF_FicheDeRenseignements.txtPrenomDeLaMariee _
& ' et ' & 'M ' & USF_FicheDeRenseignements.txtNomDuMarie & ' ' & USF_FicheDeRenseignements.txtPrenomDuMarie & ' , ci-aprés dénommés ''les organisateurs'' demeurant : '
'Envoie dans le controle les données organisateur 2
.txtAdresse = USF_FicheDeRenseignements.txtNumDeBatiment & ' ' & USF_FicheDeRenseignements.txtBatiment _
& vbCrLf & USF_FicheDeRenseignements.txtNumeroDeRue & ' ' & USF_FicheDeRenseignements.txtNomDeRue _
& vbCrLf & USF_FicheDeRenseignements.txtCodePostaleOrganisateurs & ' ' & USF_FicheDeRenseignements.cbxVilleOrganisateurs
'Envoie dans le controle la date et le lieu de la prestation
'textbox était manquante contrat recto
.txtDateEtLieu = 'Cette prestation aura lieu le ' & USF_FicheDeRenseignements.txtDateDeLaPrestation & ' à ' & USF_FicheDeRenseignements.cbxNomDeSalle & ' de ' & txtLieuSalle
'Envoie dans le controle l'heure d'arrivée des techniciens
'textbox était manquante contrat recto
.txtHeure = 'Les techniciens devront être présents à partir de ' & USF_FicheDeRenseignements.cbxHeureArrivee & ', à ' & USF_FicheDeRenseignements.cbxHeureFin

'=============================================
'Test des controls pour remplissage du control
'=============================================
'Pour la date et le lieu dela prestation
If txtDateDeLaPrestation > '' Then DatePrestation = vbCrLf _
& 'Cette prestation aura lieu le ' _
& txtDateDeLaPrestation.Value
'changement effectué içi
If cbxNomDeSalle <> '' Then NomDeSalle = ', à ' _
& cbxNomDeSalle.Value
If txtLieuSalle <> '' Then NomDeSalle = NomDeSalle & ' de ' _
& txtLieuSalle.Value

'Pour arrivée des techniciens
If cbxHeureArrivee > '' Then HeureArrivee = vbCrLf & vbCrLf _
& 'Les techniciens devront être présents à partir de ' _
& cbxHeureArrivee.Value
' If cbxHeureFin > '' Then HeureDepart ', à ' _
' & cbxHeureFin.Value
'Pour le prix Euros et conversion Francs
If txtPrixEuros > '' Then PrixEuros = vbCrLf & vbCrLf & vbCrLf _
& 'Le tarif de cette prestation a été fixé à ' _
& txtPrixEuros.Value & ' €uros, '
If txtPrixFrancs > '' Then PrixFrs = ' soit ' & txtPrixFrancs.Value _
& ' Francs.'
'Pour l'accompte Euros et conversionFrancs
If txtAccompteEuros > '' Then AccompteEuros = vbCrLf & vbCrLf _
& 'Un accompte a été versé à la signature du contrat de ' _
& txtAccompteEuros.Value & ' €uros, '
If txtAccompteEuros = '' Then AccompteFrs = vbCrLf & vbCrLf _
& 'Accompte perçu : Aucun'
If txtAccompteFrancs > '' Then AccompteFrs = ' soit ' _
& txtAccompteFrancs.Value & ' Francs.'
'Pour la réduction appliquée en pourcentage
If cbxReduction > '' Then RéductionEuros = vbCrLf & vbCrLf _
& 'Une réduction de ' & cbxReduction.Value & ' %, a été appliquée.' _
& vbCrLf & vbCrLf & 'Le montant de cette réduction d'élève a ' _
& txtMontantRemiseEuros & ' €uros, ' _
& ' soit ' & txtMontantRemiseFrancs & ' Francs.'
'Pour le restant dù Euros et conversionFrancs
If txtSoldeEuros > '' Then SoldeEuros = vbCrLf & vbCrLf _
& 'Il restera donc a régler le jour de la prestation la somme de ' & txtSoldeEuros.Value & ' €uros, '
If txtSoldeFrancs > '' Then SoldeFrs = 'soit ' _
& txtSoldeFrancs.Value & ' Francs .'

.txtConclusions = DatePrestation & NomDeSalle & PrixEuros & PrixFrs _
& RéductionEuros & AccompteEuros & AccompteFrs & SoldeEuros & SoldeFrs & HeureArrivee & HeureDepart
End With
MsgBox NomDeSalle
'Dans la feuille ('Contrat_verso')
With Sheets('Contrat_verso')
.lblDateDeSignature = 'Fait à Valence, le ' & Application.Proper(Format(Now, 'dddd dd mmmm yyyy '))
End With
End Sub

à bientôt
 
Bébère, le forum

Un grand merci.

Je viens de finir, la rectification que tu m'a apporté.
Cela fonctionne, j'avais un autre message d'erreur mais j'ai réussi a trouvé d'ou cela provenait (Le test qui été mis en vert que j'ai voulu remettre :

' If cbxHeureFin > '' Then HeureDepart ', à ' _
' & cbxHeureFin.Value

J'ai simplement mis le contol a la suite de cela :

If cbxHeureArrivee > '' Then HeureArrivee = vbCrLf & vbCrLf _
& 'Les techniciens devront être présents à partir de ' _
& cbxHeureArrivee.Value


Je n'arrive pas a voir l'erreur que j'avais fait, sachant que plus loin il y avait a peu de chose prés la même chose et que cela fonctionné.

A priori tu a changé le nom d'un variable, es-ce du a cela ?

Je regarderai plus en détail demain, pour ne pas rester sur une interrogation.

Merci encore, G'Claire
 
- 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

Discussions similaires

E
Réponses
1
Affichages
1 K
Elegancya
E
A
Réponses
0
Affichages
640
A
A
  • Question Question
Réponses
1
Affichages
1 K
P
Réponses
3
Affichages
1 K
prorudess
P
B
Réponses
15
Affichages
3 K
beowulf97
B
Réponses
1
Affichages
966
Compte Supprimé 979
C
Réponses
3
Affichages
38 K
Compte Supprimé 979
C
Retour