Remplir plusieurs tableaux avec un userform
Résolu/Fermé
Zorbaxx
Messages postés
29
Date d'inscription
mercredi 20 décembre 2017
Statut
Membre
Dernière intervention
8 novembre 2018
-
12 févr. 2018 à 19:02
Zorbaxx Messages postés 29 Date d'inscription mercredi 20 décembre 2017 Statut Membre Dernière intervention 8 novembre 2018 - 17 févr. 2018 à 12:25
Zorbaxx Messages postés 29 Date d'inscription mercredi 20 décembre 2017 Statut Membre Dernière intervention 8 novembre 2018 - 17 févr. 2018 à 12:25
A voir également:
- Créer formulaire excel pour remplir tableau
- Tableau croisé dynamique - Guide
- Créer liste déroulante excel - Guide
- Créer un compte gmail - Guide
- Créer un compte google - Guide
- Créer un groupe whatsapp - Guide
5 réponses
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 704
12 févr. 2018 à 21:29
12 févr. 2018 à 21:29
Bonjour,
Tu peux changer de tableau en mettant l'adresse dans ta liste employés.
Cependant je ne pense pas que tes tableaux soient une bonne solution car ils vont te compliquer la vie sans utilité. Je pense que tu devrais tout mettre dans le même tableau et si tu veux te créer la visualisation d'un employé, ce sera très simple sur une autre feuille par exemple avec une simple filtre élaboré avec une ligne de code.
Enfin c'est toi qui décide car je ne connais pas ton cahier des charges.
Tu peux changer de tableau en mettant l'adresse dans ta liste employés.
Cependant je ne pense pas que tes tableaux soient une bonne solution car ils vont te compliquer la vie sans utilité. Je pense que tu devrais tout mettre dans le même tableau et si tu veux te créer la visualisation d'un employé, ce sera très simple sur une autre feuille par exemple avec une simple filtre élaboré avec une ligne de code.
Enfin c'est toi qui décide car je ne connais pas ton cahier des charges.
julia Namor
Messages postés
524
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
13 janvier 2024
33
12 févr. 2018 à 22:41
12 févr. 2018 à 22:41
Bonsoir
Voila le fichier modifié selon ta demande
c'est vrai que l'on pourrait faire plus intuitif avec un seul tableau et un filtre élaboré.
Mais faudra peut être repenser ton projet.
https://www.cjoint.com/c/HBmvMbyAL3D
bien cordialement
Voila le fichier modifié selon ta demande
c'est vrai que l'on pourrait faire plus intuitif avec un seul tableau et un filtre élaboré.
Mais faudra peut être repenser ton projet.
https://www.cjoint.com/c/HBmvMbyAL3D
bien cordialement
Zorbaxx
Messages postés
29
Date d'inscription
mercredi 20 décembre 2017
Statut
Membre
Dernière intervention
8 novembre 2018
13 févr. 2018 à 20:22
13 févr. 2018 à 20:22
Bonsoir Julia et merci,
Je pense m'être mal expliqué hier, en réalité pas besoin d'voir 100 tableaux pour tout les membres du personnel. Ils ne peuvent être que 20 max à être assigné à cette tâche et le tableaux sera reset tout les matins. De plus les personne assignées à cette tâche sont amené à changer tout les jours et la liste me sert uniquement pour mes recherchev.
Mais bon, meme 20 tableaux, tu a raison, ce n'est pas très intuitif.
J'essaie donc de rentrer les données directement dans ma feuille prod mais je me rend bien compte que mes connaissance en vba sont limitées... voila ou j'en suis :
Private Sub valider_Click()
Dim dlt As Integer
If TextBox1 = "" Or TextBox2 = "" Or TextBox3 = "" Then
MsgBox ("Il manque des informations!")
GoTo 1
End If
If MsgBox("Ajouter les données?", vbYesNo, "Confirmation") = vbYes Then
If TextBox1 <> Sheets("prod").Cells(6, 3) Then
dlt = Sheets("prod").Range("w8").End(xlToLeft).Column + 1
Sheets("prod").Cells(8, 3) = TextBox1
Sheets("prod").Cells(8, dlt) = TextBox2
Sheets("prod").Cells(9, dlt) = TextBox3
Else
dlt = Sheets("prod").Range("w6").End(xlToLeft).Column + 1
Sheets("prod").Cells(6, 3) = TextBox1
Sheets("prod").Cells(6, dlt) = TextBox2
Sheets("prod").Cells(7, dlt) = TextBox3
End If
End If
Unload Me
Useform1.Show
1
End Sub
Mais je me rend compte qu'en partant comme ca je vais devoir partir dans une série de "if" interminables...
Je pense m'être mal expliqué hier, en réalité pas besoin d'voir 100 tableaux pour tout les membres du personnel. Ils ne peuvent être que 20 max à être assigné à cette tâche et le tableaux sera reset tout les matins. De plus les personne assignées à cette tâche sont amené à changer tout les jours et la liste me sert uniquement pour mes recherchev.
Mais bon, meme 20 tableaux, tu a raison, ce n'est pas très intuitif.
J'essaie donc de rentrer les données directement dans ma feuille prod mais je me rend bien compte que mes connaissance en vba sont limitées... voila ou j'en suis :
Private Sub valider_Click()
Dim dlt As Integer
If TextBox1 = "" Or TextBox2 = "" Or TextBox3 = "" Then
MsgBox ("Il manque des informations!")
GoTo 1
End If
If MsgBox("Ajouter les données?", vbYesNo, "Confirmation") = vbYes Then
If TextBox1 <> Sheets("prod").Cells(6, 3) Then
dlt = Sheets("prod").Range("w8").End(xlToLeft).Column + 1
Sheets("prod").Cells(8, 3) = TextBox1
Sheets("prod").Cells(8, dlt) = TextBox2
Sheets("prod").Cells(9, dlt) = TextBox3
Else
dlt = Sheets("prod").Range("w6").End(xlToLeft).Column + 1
Sheets("prod").Cells(6, 3) = TextBox1
Sheets("prod").Cells(6, dlt) = TextBox2
Sheets("prod").Cells(7, dlt) = TextBox3
End If
End If
Unload Me
Useform1.Show
1
End Sub
Mais je me rend compte qu'en partant comme ca je vais devoir partir dans une série de "if" interminables...
julia Namor
Messages postés
524
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
13 janvier 2024
33
13 févr. 2018 à 20:59
13 févr. 2018 à 20:59
,,,
peux tu envoyer un tableau "fait main" qui montre ce que tu veux. On y verrait un peu plus clair
pour l’édition des codes.
peux tu envoyer un tableau "fait main" qui montre ce que tu veux. On y verrait un peu plus clair
pour l’édition des codes.
Zorbaxx
Messages postés
29
Date d'inscription
mercredi 20 décembre 2017
Statut
Membre
Dernière intervention
8 novembre 2018
13 févr. 2018 à 21:34
13 févr. 2018 à 21:34
https://www.cjoint.com/c/HBnuDUUJgFO
Voila en gros à quoi cela ressemble, ici je saisi toutes les cellules de (C5;W54) manuellement et j'aimerai qu'elles le soit via mon userform...
Merci encore
Voila en gros à quoi cela ressemble, ici je saisi toutes les cellules de (C5;W54) manuellement et j'aimerai qu'elles le soit via mon userform...
Merci encore
julia Namor
Messages postés
524
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
13 janvier 2024
33
13 févr. 2018 à 23:58
13 févr. 2018 à 23:58
Zorbaxx
Messages postés
29
Date d'inscription
mercredi 20 décembre 2017
Statut
Membre
Dernière intervention
8 novembre 2018
14 févr. 2018 à 16:29
14 févr. 2018 à 16:29
Bonjour Julia, et merci encore de prendre sur ton temps pour m'aider
Lorsque j'ouvre ton fichier, ton code marche à la perfection et c'est exactement ce à quoi je voulais arriver. Malheureusement, lorsque le tableau est vide, les données ne s'enregistre plus du tout au bon endroit. Je pense que le fait d'avoir certaines des cellules fusionnées pause problème. et je ne vois pas d'ou cela provient
Je ne comprend pas encore tout ton code et je suis entrain de m'instruire pour bien tout saisir.
Merci
Lorsque j'ouvre ton fichier, ton code marche à la perfection et c'est exactement ce à quoi je voulais arriver. Malheureusement, lorsque le tableau est vide, les données ne s'enregistre plus du tout au bon endroit. Je pense que le fait d'avoir certaines des cellules fusionnées pause problème. et je ne vois pas d'ou cela provient
Je ne comprend pas encore tout ton code et je suis entrain de m'instruire pour bien tout saisir.
Merci
julia Namor
Messages postés
524
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
13 janvier 2024
33
14 févr. 2018 à 22:16
14 févr. 2018 à 22:16
Bonsoir
J'ai modifié le fichier .
Attention: la ligne jaune est cruciale
https://www.cjoint.com/c/HBovosNALWE
bien cordialement
J'ai modifié le fichier .
Attention: la ligne jaune est cruciale
https://www.cjoint.com/c/HBovosNALWE
bien cordialement
Zorbaxx
Messages postés
29
Date d'inscription
mercredi 20 décembre 2017
Statut
Membre
Dernière intervention
8 novembre 2018
15 févr. 2018 à 22:00
15 févr. 2018 à 22:00
Bonsoir,
J'avais réussi à régler le problème en défusionant des cellules là ou tu a inséré la ligne jaune. Mais c'est plus propre comme ça et je n'avais pas du tout pensé à ça. Je te remercie encore, j'ai pu bien avancer et j'ai appris beaucoup grâce à toi.
Maintenant je suis bloqué sur une histoire de format de dates dans un autre userform qui me sert à effectuer des recherches sur ce classeur haha... Si le coeur t'en dit ton aide est la bienvenue ^^.
https://www.cjoint.com/c/HBpu7wR0NtO
Un tout grand merci encore,
Cordialement
J'avais réussi à régler le problème en défusionant des cellules là ou tu a inséré la ligne jaune. Mais c'est plus propre comme ça et je n'avais pas du tout pensé à ça. Je te remercie encore, j'ai pu bien avancer et j'ai appris beaucoup grâce à toi.
Maintenant je suis bloqué sur une histoire de format de dates dans un autre userform qui me sert à effectuer des recherches sur ce classeur haha... Si le coeur t'en dit ton aide est la bienvenue ^^.
https://www.cjoint.com/c/HBpu7wR0NtO
Un tout grand merci encore,
Cordialement
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
julia Namor
Messages postés
524
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
13 janvier 2024
33
17 févr. 2018 à 00:40
17 févr. 2018 à 00:40
Bonjour
Voila le code modifié
Voila le code modifié
Private Sub Chercher_Click()
If TextBox1 = "" Then
MsgBox "Veuillez entrer un numéro de course!", vbInformation + vbOKOnly, "Numéro de course invalide"
GoTo 1
End If
If WorksheetFunction.CountIf(Sheets("Données").Range("b:b"), Me.TextBox1.Value) = 0 Then
MsgBox "Le numéro de course n'existe pas!", vbInformation + vbOKOnly, "Numéro de course invalide"
TextBox1 = ""
GoTo 1
Else
Me.TextBox2 = Application.WorksheetFunction.VLookup((TextBox1), Sheets("Données").Range("B2:G360"), 2, 0)
Me.TextBox2.Value = CDate(Me.TextBox2.Value)
Me.TextBox3 = Application.WorksheetFunction.VLookup((TextBox1), Sheets("Données").Range("B2:G360"), 3, 0)
Me.TextBox3.Value = Format(Me.TextBox3, "hh:mm")
Me.TextBox4 = Application.WorksheetFunction.VLookup((TextBox1), Sheets("Données").Range("B2:G360"), 4, 0)
Me.TextBox5 = Application.WorksheetFunction.VLookup((TextBox1), Sheets("Données").Range("B2:G360"), 6, 0)
Me.TextBox6 = Application.WorksheetFunction.VLookup((TextBox1), Sheets("Données").Range("B2:G360"), 5, 0)
End If
1
End Sub
Zorbaxx
Messages postés
29
Date d'inscription
mercredi 20 décembre 2017
Statut
Membre
Dernière intervention
8 novembre 2018
17 févr. 2018 à 12:25
17 févr. 2018 à 12:25
Merci Julia ça fonctionne nickel.
J'ai encore une dernière question après promis je te laisse tranquille ^^.
Dans mon useform1 je lui demande d'aller entrer les valeurs des textbox dans ma feuille "données" avec ce code
With Sheets("données")
dlt = .Range("b" & Rows.Count).End(xlUp).Row + 1
.Cells(dlt, 3) = Now()
.Cells(dlt, 4).NumberFormat = "hh:mm"
.Cells(dlt, 4) = Now()
.Cells(dlt, 5) = TextBox1.Value
.Cells(dlt, 2) = TextBox2.Value
.Cells(dlt, 7) = TextBox3.Value
End With
Le problème c'est que quand l'utilisateur répond "non" au vbyesno, les valeurs sont tout de même entrées sur ma feuille "données". Par contre sur la feuille "prod" pas de problèmes. Le code n'est pas placé au bon endroit et je ne vois pas où le mettre. J'ai bien contourné le problème en ajoutant un vbyesno mais du coup on doit "valider" deux fois "non" et ça fait pas très propre...
Désolé si j'abuse de ta gentillesse....
J'ai encore une dernière question après promis je te laisse tranquille ^^.
Dans mon useform1 je lui demande d'aller entrer les valeurs des textbox dans ma feuille "données" avec ce code
With Sheets("données")
dlt = .Range("b" & Rows.Count).End(xlUp).Row + 1
.Cells(dlt, 3) = Now()
.Cells(dlt, 4).NumberFormat = "hh:mm"
.Cells(dlt, 4) = Now()
.Cells(dlt, 5) = TextBox1.Value
.Cells(dlt, 2) = TextBox2.Value
.Cells(dlt, 7) = TextBox3.Value
End With
Le problème c'est que quand l'utilisateur répond "non" au vbyesno, les valeurs sont tout de même entrées sur ma feuille "données". Par contre sur la feuille "prod" pas de problèmes. Le code n'est pas placé au bon endroit et je ne vois pas où le mettre. J'ai bien contourné le problème en ajoutant un vbyesno mais du coup on doit "valider" deux fois "non" et ça fait pas très propre...
Désolé si j'abuse de ta gentillesse....
13 févr. 2018 à 19:27
En fait la feuille data n'est pas vraiment nécessaire,
Il faudrait que lorsqu'un utilisateur remplisse le userform, son numéro (textbox1) s'affiche en C6, les produits qu'il prépare (textbox2) en D6,E6,... et les quantités(textbox3) en D7,E7... mais que lorsque qu'un autre employé entre des données, son numéro se mettrai en C6, les produit en D8,E8,.. et les quantité en D9,E9,... etc à chaque fois sur la ligne suivante.
Ils vont rentrer pls fois des données au cours de la journée et donc que à chaque fois qu'un numéro d'employé revienne, il indique ces données en face du bon numéro de personnel...
Je na sais pas si j'arrive a être très clair...
Merci,
13 févr. 2018 à 20:01