tallia64
Messages postés20Date d'inscriptiondimanche 8 février 2009StatutMembreDernière intervention12 juin 2016
-
25 avril 2009 à 11:33
tallia64
Messages postés20Date d'inscriptiondimanche 8 février 2009StatutMembreDernière intervention12 juin 2016
-
29 avril 2009 à 15:33
Bonjour je travaille dans un userform "Entrée" où j'ai deux combobox déroulantes l'une qui gère des catégories "visiteur,hotellerie" l'autre des numéros de badge "1...66". Quand je sélectionne la catégorie visiteur et que je choisis le badge ex "2" pas de problème par contre je voudrais quand je choisis la catégorie "hotellerie" et que je choisis aussi le badge 2 qu'il s'affiche avec un petit H devant afin de pouvoir les différencier lors de la sortie. Est ce que cela est possible ?
Je vous remercie d'avance. Bonne journée.
Tallia64
pile_poil
Messages postés682Date d'inscriptionvendredi 6 avril 2007StatutMembreDernière intervention 4 août 20126 25 avril 2009 à 13:22
nota :
fait également attention à ce que dans la boucle If que je t'ai donné que le mot hotellerie soit bien orthographié EXACTEMENT comme dans ton combo sinon la condition ne sera jamais remplie et donc le H ne sera jamais ajouté
de même remplace les combo 1 et combo2 de mon exemple par leurs noms exacts dans ton code
[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
pile_poil
Messages postés682Date d'inscriptionvendredi 6 avril 2007StatutMembreDernière intervention 4 août 20126 25 avril 2009 à 12:38
bonjour
si le combo des catégories est le combo1 et celui des badges le combo2 et toto la variable contenant le résultat
cela devrait donner quelque chose comme :
dim toto as string ' (à coller en haut de la page où tu mets ce bout de code)
private sub combo2.Click()
if combo1.text = "hotellerie" then
toto = "H" & combo2.text
else
toto = combo2.text
end if
end sub
[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
tallia64
Messages postés20Date d'inscriptiondimanche 8 février 2009StatutMembreDernière intervention12 juin 2016 25 avril 2009 à 12:54
Bonjour merci pour votre aide je viens de tester mais il ne me rajoute pas le "h" . Peut être que ça vient de mon fichier ou d'une mauvaise manip de ma part ? vous trouverez ci-joint la copie de mon fichier. Merci beaucoup.
Tallia 64
pile_poil
Messages postés682Date d'inscriptionvendredi 6 avril 2007StatutMembreDernière intervention 4 août 20126 25 avril 2009 à 13:17
dans l'exemple que je t'ai donné le "H" est ajouté dans la variable "toto"
si tu veux le mettre dans ton tableau excel il faut remplacer toto par la référence à la cellule où tu veux le voir
donc apres avoir jeté un oeil à ton code
il me semble que le bon endroit serait dans ta sub VALIDER
à la suite de
ActiveSheet.Cells(index, 13) = TextBox12
ActiveSheet.Cells(index, 14) = TextBox16
ajouter
ActiveSheet.Cells(index, 5) = toto
[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
tallia64
Messages postés20Date d'inscriptiondimanche 8 février 2009StatutMembreDernière intervention12 juin 2016 29 avril 2009 à 10:08
Bonjour je reviens à nouveau vers vous car j'ai un petit souci avec mon application et je n'arrive pas à cerner le problème. Je travaille sur cette application qui comporte deux usersforms "entrée" et "sortie". Quand je saisis dans le userform "entrée" pas de soucis il me fait bien la différence entre "hotellerie " (où il rajoute un h devant et aussi une couleur de fond) et visiteur et entreprise. Par contre quand je séléctionne mon userform "sortie" il me rajoute l'heure de sortie à visiteur et entreprise sans souci mais pour hotellerie il me décale d'une ligne l'heure de sortie ?? J'ai essayé maintes manipulations sur le code mais sans succès. J'espère que vous pourrez m'aider je vous en remercie d'avance.
Bonne journée.
Tallia64.
pile_poil
Messages postés682Date d'inscriptionvendredi 6 avril 2007StatutMembreDernière intervention 4 août 20126 29 avril 2009 à 11:01
il m'a fallu un peu de temps pour décortiquer ton code
mais je pense avoir trouver
dans ton formulaire sortie et dans
Private Sub ComboBox1_Change()
Dim cpt As Integer
Dim temp As Integer ' dans le cas de hotellerie temp sera égal à "H1" donc pas un entier mais un String
cpt = 3
temp = Val(ComboBox1.Text) ' ici temp prendra la valeur 0 puisque "H1" n'est pas un entier
index = 0
While index = 0 If Range("E" & cpt) temp And Range("I" & cpt) "" Then 'puisque temp = 0 la boucle se fera jusqu'à la premiere ligne vide donc si il n'y a qu'un seul enregistrement (forcément sur la ligne3) index prendra la valeurde cette premiere ligne vide en l'occurence la ligne 4
index = cpt
End If
cpt = cpt + 1
Wend
pour corriger le probleme
remplacer
Dim temp As Integer
par
Dim temp As String
et
temp = Val(ComboBox1.Text)
par
temp = ComboBox1.Text
un bon truc pour tester ce genre de probleme c'est d'éxécuter la macro en mode pas à pas avec la touche F8 et avant de passer à la ligne suivante regarder ,en mettant le curseur sur les diverses variables, si elles ont bien les valeurs attendues
[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE