Pb sur une macro lié à un formulaire

philoche63

XLDnaute Nouveau
Bonjour les amis,
voilà je suis confronté à un problème où je ne trouve pas de solution.
Vous trouverez en pièce jointe le fichier
- Cliquer sur 'Simulation de Paie'
- un formulaire apparait
- Quand on clic sur Filiere ou Grade nous avons le message :

"Valeur de Propriété non Valide"

Ce que je cherche a faire dans Private Sub CboGrade1_Change()
- lire la cellule ligne 36 colonne 30 (Max_Echelon)
et lire la cellule ligne 37 colonne 30 (HorsEchelle)

Pour ensuite nourrir la liste déroulante CboEchelon
Ex 1 : Max_Echelon = 5 et HorsEchelle = 0
Contenu de la liste déroulante :
1
2
3
4
5

Ex 2 : Max_Echelon = 7 et HorsEchelle = HEB
Contenu de la liste déroulante :
1
2
3
4
5
6
7
HEA
HEB



Merci beaucoup de votre aide

Cordialement
 

Pièces jointes

  • 201400508 Boite a Outils v2-20.zip
    653 KB · Affichages: 44

youky(BJ)

XLDnaute Barbatruc
Re : Pb sur une macro lié à un formulaire

Bonsoir philoche,
Ce sont les lignes misent en gras qui bug en Initialize

Select Case CboCalcTraitement1.Value
Case Is = "D'après un Grade et un Echelon"
CboFiliere1.Value = Cells(10, 30)
'CboGrade1.Value = Cells(11, 30)
Case Is = "D'après un Indice Majoré"

et plus bas
.MatchRequired = True
.MatchEntry = fmMatchEntryComplete
End With
'''''''CboEchelon1.Value = Cells(12, 30)

Je te laisse le soin de continuer
Bruno
 
Dernière édition:

philoche63

XLDnaute Nouveau
Re : Pb sur une macro lié à un formulaire

Bonsoir Bruno !
Avant toute chose un grand merci pour ton aide. Je suis un eternel débutant en VBA et malgré ton coup de main, je m'en sors pas.
Comment as tu fait pour trouver ces deux lignes en anomalie ?
et a l'affichage de mon formulaire je dois afficher ces deux variables que tu veux mettre en commentaire.

Veux tu encore m'aide s'il te plait ?

Merci par avance

Philoche
 

youky(BJ)

XLDnaute Barbatruc
Re : Pb sur une macro lié à un formulaire

Re,
Dans cette macro Cells(36,30)=0 et c'est là le PB
J'ai mis 9 ici pour tester et plus de bugg.
Je n'ai pas poussé plus loin à toi de rectifier pour avoir une valeur qui soit au moins identique ou supérieur à celle que tu veux en y mettre en texte
Private Sub CboGrade1_Change()
CboEchelon1 = Cells(36, 30)
HorsEchelle = Cells(37, 30)
With CboEchelon1
.Clear
For IndEchelon = 1 To 9 'CboEchelon1
.AddItem IndEchelon
Next

Pour trouver les buggs il faut mettre un point d'arrêt dans la macro (1 clic dans la bordure en face de la ligne) ceci en initialize
ensuite lancement de l'user.
Presse F8 autant de fois que tu veux pour suivre le déroulement de la macro ligne par ligne
Passe le curseur sur une variable et tu verras sa valeur, ou affiche la fenêtre exécution et tu écris
?cells(36,30) et presse Enter il doit afficher ici 0
et comme on fait une boucle de 1 à ....0 cela fait pas de additem donc liste vide,
comme ensuite on écrit une valeur en échelon et avec .MatchRequired = True cela bugg
Le point d'interrogation veux dire que tu poses la question.
Pour enlever le point d'arrêt clic dessus.
ha! ces échelons
Bonne journée Bruno
 

philoche63

XLDnaute Nouveau
Re : Pb sur une macro lié à un formulaire

Bonjour Bruno,
Et merci encore pour tes précieux conseils !
En fait le probleme vient du fait la cellule en 36,30 ne doit jamais être à 0 !
quand je sélectionne la filière et le grade, je cherche le nombre d'échelon que je met en 36,30 et eventuellement le Hors Echelle s'il y a !
Du coup j'ai quand meme une question : a quoi sert .MatchRequired = True ? et peut on s'en passer ?
a+
Philoche
 

youky(BJ)

XLDnaute Barbatruc
Re : Pb sur une macro lié à un formulaire

Bonsoir,
Le fichier étant important il m'est difficile de tout comprendre l'engrenage.
.MatchRequired = True
Si tu as installé l'aide VBA tu mets le curseur sur la ligne et tu presse F1 (l'aide s'affiche)
voici une copie de l'aide
Spécifie si une valeur saisie dans la partie texte d'un contrôle ComboBox doit correspondre à une entrée de la partie liste existante du contrôle. L'utilisateur peut taper des valeurs non correspondantes, mais ne peut pas quitter le contrôle sans qu'une valeur correspondante soit saisie.
Donc pour toi comme il est mis à true, la valeur doit correspondre, le mieux serait de supprimer ces lignes ou mettre False à la place
Bruno
 

Discussions similaires

Statistiques des forums

Discussions
311 730
Messages
2 081 981
Membres
101 855
dernier inscrit
alexis345