userform problème de récupération de données

tallia64

XLDnaute Occasionnel
Bonsoir je travaille sur deux userforms dont l'un me pose un problème. Quand je créais une ligne avec mon 1er userform "ajouter" pas de soucis. Par contre quand je sélectionne "recherche/modification" et que je clique sur la ligne sélectionné pour faire apparaitre la frame les valeurs dans les textbox devant heure_entree et heure_sortie n'apparraissent pas et je ne peux pas faire de modification. Pourriez vous m'aider s'il vous plait ? Je vous remercie
TALLIA

Voici mon fichier :
http://cjoint.com/?lgtytwq36I
 

tallia64

XLDnaute Occasionnel
Re : userform problème de récupération de données

Bonjour merci pour vos réponses si mon fichier est pollué je m'en excuse je suis débutante en vba j'ai suivi un petit stage de 3 jours et on m'a donné ce projet à effectuer donc ce n'est pas du tout évident pour moi . Je vous remercie pour votre compréhension.
Tallia.
 

la croisée des pains

XLDnaute Occasionnel
Re : userform problème de récupération de données

Rebonjour je viens de tester j'ai un petit souci quand j'essaie de reprendre vos code dans ma version originale j'ai toujours le même problème de format. Pouvez vous simplement m'indiquer s'il vous plait à quel endroit précis du userform "recherche" vous avez apporter les modifications ?
Je vous remercie beaucoup
Tallia
bonsoir le forum,
bonsoir tallia,
pour arriver à comprendre vba, il faut mettrre les mains dedans comme dit Jean-pierre(bjr l'ami)
il te suffit d'imprimer le code que nous t'avons modifié, surtout "bqtr" et de le comparer au tien....
pour imprimer le code , il te suffit de faire fichier-->imprimer----->code

bonne soirée et bon courage à toi
 

tallia64

XLDnaute Occasionnel
Re : userform problème de récupération de données

rebonsoir j'ai comparé et effectuer les changements sur mon fichier mais toujours le même problème de format qui apparait sous forme de chiffre dans mon userform "recherche". Pouvez vous s'il vous plait consulté mon fichier joint afin de m'aider à trouver mon erreur ?
Je vous remercie beaucoup
TALLIA


http://cjoint.com/?licRvlqvT7
 
Dernière édition:

pandaexcel

XLDnaute Nouveau
Re : userform problème de récupération de données

Bonjour,
Pour le format tu dois juste modifier les deux lignes de ce sub là :

Private Sub ComboBox1_Change()
index = ComboBox1.ListIndex + 2
Frame1.Visible = True

On Error Resume Next
TextBox1 = Format(ActiveSheet.Cells(index, 1), ">")
TextBox2 = Format(ActiveSheet.Cells(index, 2), ">")
TextBox3 = Format(ActiveSheet.Cells(index, 3), ">")
TextBox4 = Format(ActiveSheet.Cells(index, 4), ">")
TextBox5 = Format(ActiveSheet.Cells(index, 5), ">")
HEURE_ENTREE = Format(ActiveSheet.Cells(index, 6), "HH:MM") 'à modifier comme ceçi
TextBox7 = Format(ActiveSheet.Cells(index, 7), ">")
HEURE_SORTIE = Format(ActiveSheet.Cells(index, 8), "HH:MM") 'à modifier comme ceçi
TextBox9 = Format(ActiveSheet.Cells(index, 9), ">")
TextBox10 = Format(ActiveSheet.Cells(index, 10), ">")
TextBox11 = Format(ActiveSheet.Cells(index, 11), ">")
TextBox12 = Format(ActiveSheet.Cells(index, 12), ">")

Voilà et courage pour ton projet !
 

tallia64

XLDnaute Occasionnel
Re : userform problème de récupération de données

bonjour merci pour votre réponse j'ai revérifier tous mes codes change à nouveau les lignes mais sans succès. Dans mon userform "recherche" quand je récupére les données de "heure_entree et heure_sortie" toujours le même problème de format : 0,373611111111111 au lieu de 08:58. Pouvez vous m'aider s'il vous plait ? Ci-joint mon fichier.
Un grand merci.
TALLIA

http://cjoint.com/?lilpGyGEo3
 

bqtr

XLDnaute Accro
Re : userform problème de récupération de données

Re, bonjour pandaexcel,

pandaexcel, ce que tu propose est ce que JP, moi nous lui proposons depuis deux jours :confused: (deplus il faut index = ComboBox1.ListIndex + 3).

Tallia, je ne sais pas quoi te dire, tu as remis le même fichier avec les mêmes codes. Tu n'y as apporter aucune modif ni appliquer les solutions proposées.:confused:

Dans ton fichier original comment sont nommés les TextBox pour les heures ?
Les données sont t'elles disposées comme sur ton fichier exemple ?
As tu renommée le Combobox qui te sert à faire la recherche ?

Peuxt tu mettre un extrait de ton fichier original sans données confidentielles, avec juste le Userform RECHERCHE et la feuille "service général"

A+


 

tallia64

XLDnaute Occasionnel
Re : userform problème de récupération de données

Bonjour et merci pour votre réponse j'ai changé les codes mais j'ai tellement fait de manip que j'ai du me mélanger les pinceaux. Je vous prie de bien vouloir m'en excuser. Je vous mets ci-joint une partie du code comme vous me l'avez demander. mes textbox se nomment heure_entree et heure_sortie.
Voici une partie de mon code dans Recherche :
Public index As Integer, MyBox
Private Sub CommandButton1_Click()
index = 6 'comment est initialisée cette variable ?
ActiveSheet.Cells(index, 6) = N1 & " " & L & " " & N2
N1 = ""
L = ""
N2 = ""

RECHERCHE.Hide
'ActiveSheet.Cells(index, 6) = TextBox6
TextBox12 = UCase(TextBox12)
End Sub

Private Sub ComboBox1_Change()
index = ComboBox1.ListIndex + 3
Frame1.Visible = True

On Error Resume Next
TextBox1 = Format(ActiveSheet.Cells(index, 1), ">")
TextBox2 = Format(ActiveSheet.Cells(index, 2), ">")
TextBox3 = Format(ActiveSheet.Cells(index, 3), ">")
TextBox4 = Format(ActiveSheet.Cells(index, 4), ">")
TextBox5 = Format(ActiveSheet.Cells(index, 5), ">")
HEURE_ENTREE = Format(ActiveSheet.Cells(index, 6), "HH:MM") 'à modifier comme ceçi
TextBox7 = Format(ActiveSheet.Cells(index, 7), ">")
HEURE_SORTIE = Format(ActiveSheet.Cells(index, 8), "HH:MM") 'à modifier comme ceçi
TextBox9 = Format(ActiveSheet.Cells(index, 9), ">")
TextBox10 = Format(ActiveSheet.Cells(index, 10), ">")
TextBox11 = Format(ActiveSheet.Cells(index, 11), ">")
TextBox12 = Format(ActiveSheet.Cells(index, 12), ">")
End Sub

Private Sub Frame1_Click()
TextBox12 = UCase(TextBox12)

End Sub

Private Sub HEURE_ENTREE_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Dim texte As String
texte = TextBox6
Select Case Len(texte)
Case 2, 5
TextBox6 = texte & ":"
If Not Chr(KeyAscii) Like "#" Then KeyAscii = "0"
End Select
End Sub

Private Sub HEURE_SORTIE_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Dim texte As String
texte = TextBox8
Select Case Len(texte)
Case 2, 5
TextBox8 = texte & ":"
If Not Chr(KeyAscii) Like "#" Then KeyAscii = "0"
End Select
End Sub


et mon code de ma feuille "service_general

Private Sub cmdRechercher_Modifier_Click()
RechModif.Show
End Sub


Private Sub CommandButton1_Click()

Unload RECHERCHE
RECHERCHE.Show
End Sub


En espérant que vous puissiez m'aider merci pour votre patience.
tallia.
 

bqtr

XLDnaute Accro
Re : userform problème de récupération de données

Re,

Dans ton dernier fichier celui de ton dernier message, Les Textbox pour saisir les heures ne sont plus nommés HEURE_ENTREE ou HEURE_SORTIE masi TEXTBOx6 et TEXTBOX8 :confused::confused::confused::confused::confused:

Comment doivent-ils se nommer ? il faut être cohérant et ne pas changer sans arrêt sinon on va tourner en rond longtemp.

Essaye ceci:

-Ouvre ton Userform RECHERCHE et supprime les deux Textbox pour les heures.
-Rajoute en deux autres à la place tu les renommes ou pas c'est toi qui voit et modifie le code en conséquence.

Exemple:
si renommé:
HEURE_ENTREE = Format(ActiveSheet.Cells(index, 6), "hh:mm")
HEURE_SORTIE = Format(ActiveSheet.Cells(index, 8), "hh:mm")

ou
si pas renommé
TextBox14 = Format(ActiveSheet.Cells(index, 6), "hh:mm")
Textbox15 = Format(ActiveSheet.Cells(index, 8), "hh:mm")

le 14 et le 15 correspondent au numéro des TextBox que tu vas rajouter. Cela pourra être 13 et 14 ou 14 et 15 ou .../...

Il ne faut pas oublier de mettre 3 et non 2 sur cette ligne de code :
index = ComboBox1.ListIndex + 2


A+
 

Lii

XLDnaute Impliqué
Re : userform problème de récupération de données

Bonjour Tous,

ci joint 2 fichiers.
Le premier est une version épurée (donc allégée).
Ayant des problèmes avec les routines données, j'en ai mis de nouvelles pour les formats. De plus, j'ai remanié les USF.
Le second, pour l'exemple de ce qu'on peut faire, est une version avec un seul USF pour les 4 actions !
Je n'ai pas eu le temps de tout tester donc il peut s'être glissé des erreurs.
Fais m'en part si tu en trouves.
 

Pièces jointes

  • Service_General allégé.zip
    43.2 KB · Affichages: 37
  • USF2fois V2.zip
    15.6 KB · Affichages: 34

tallia64

XLDnaute Occasionnel
Re : userform problème de récupération de données

Merci beaucoup pour votre aide mais je ne voulais pas faire de modification dans la mise en forme de mon userform. Par contre oui en le vérifiant j'ai pu remarquer que la modification au niveau des heures ne s'effectue pas il affiche automatiquement "00:00".
Je trouve trés intérressant les deux fichiers que vous m'avez envoyé cela me permet de connaitre de nouveaux codes.
Bonne soirée
tallia
 

tallia64

XLDnaute Occasionnel
Re : userform problème de récupération de données

bonsoir j'ai un petit souci avec une combo qui me permet de sélectionner une ligne pour y apporter des modifications. Ma combo m'affiche bien les lignes mais quand je sélectionne un ligne pour la modifier c'est toujours la 1ère ligne qui est modifiée et non celle sélectionner. Je vous transmets ci-joint mon code.
Merci beaucoup bonne nuit.
Tallia

Private Sub ComboBox1_Change()
index = ComboBox1.ListIndex + 3
Frame1.Visible = True

On Error Resume Next
TextBox1 = Format(ActiveSheet.Cells(index, 1), ">")
TextBox2 = Format(ActiveSheet.Cells(index, 2), ">")
TextBox3 = Format(ActiveSheet.Cells(index, 3), ">")
TextBox4 = Format(ActiveSheet.Cells(index, 4), ">")
TextBox5 = Format(ActiveSheet.Cells(index, 5), ">")
TextBox13 = Format(ActiveSheet.Cells(index, 6), "hh:mm")
TextBox7 = Format(ActiveSheet.Cells(index, 7), ">")
TextBox14 = Format(ActiveSheet.Cells(index, 8), "hh:mm")
TextBox9 = Format(ActiveSheet.Cells(index, 9), ">")
TextBox10 = Format(ActiveSheet.Cells(index, 10), ">")
TextBox11 = Format(ActiveSheet.Cells(index, 11), ">")
TextBox12 = Format(ActiveSheet.Cells(index, 12), ">")
End Sub

Private Sub userform_initialize()
Frame1.Visible = False


'La combo sélectionne un à un
ComboBox1.RowSource = "service_general!a3:c3000"
ComboBox1.Value = ""
index = Range("a65536").End(xlUp).Row + 2 '2


End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 380
Messages
2 087 817
Membres
103 665
dernier inscrit
gjoanou