UserForm modification et saisie

  • Initiateur de la discussion Initiateur de la discussion piwwwa
  • Date de début Date de début

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 !

P

piwwwa

Guest
Cher connaisseur excelien,

Je viens vers vous car je suis bloquer sur mon projet. Jusque-là les différents poste du forum mon permit de bidouiller quelque chose, mais là….

Mon problème et quand je lance mon userform lié au bouton modification, j’arrive bien à faire ma sélection et à visualiser mes lignes, mais je ne sais pas comment importer les lignes que je vois dans l’userform de saisie, pour effectuer des modifications, n’y comment les enregistrer sans créer de nouvelles lignes.

Je suis sûr que vos connaissances bien plus étendu que les miennes pourront m’aider, merci d’avance.
 

Pièces jointes

Re : UserForm modification et saisie

Voila de quoi avancer un peu,
je te laisse continuer:
Code:
' Initialisation UF
Private Sub UserForm_Initialize()
Dim i&, fin&, aa
Dim N As Long
Dim sd_f As New Collection
Dim sd_c As New Collection
Dim sd_d As New Collection
Dim sd_i As New Collection
Dim cel As Range
Dim pl_f, pl_c
With Sheets("Base") 'prend en compte l'onglet
  
    Set pl_f = .Range("F2:F" & .Range("F65536").End(xlUp).Row) 'définit la variable (plage) pl_f
    
    'remplisssage (s)ans (d)oublons de la ComboBox1 en utilisant la Collection sd_f
    For Each cel In pl_f 'boucle : sur toutes les cellules cel de la plage pl_f
        On Error Resume Next 'un doublon génère une erreur, cette ligne évite les doublons
        sd_f.Add cel.Value, CStr(cel.Value) 'ajoute la valeur de la cellule comme membre de la collection sd_f
    Next cel 'prochaine cellule cel de la plage pl_f
    
    'remplissage de la ComboBox1
    For N = 1 To sd_f.Count 'boucle sur tous les membres de la collection sd_f
        RechercheC1.AddItem sd_f(N) 'ajoute le membre à la ComboBox1 (NOM)
    Next N
    'remplissage recherchec2
    Set pl_c = .Range("C2:C" & .Range("F65536").End(xlUp).Row) 'définit la variable (plage) pl_c
    
    'remplisssage (s)ans (d)oublons de la ComboBox1 en utilisant la Collection sd
    For Each cel In pl_c 'boucle : sur toutes les cellules cel de la plage pl_c
        On Error Resume Next 'un doublon génère une erreur, cette ligne évite les doublons
        sd_c.Add cel.Value, CStr(cel.Value) 'ajoute la valeur de la cellule comme membre de la collection sd
    Next cel 'prochaine cellule cel de la plage pl
    
    'remplissage de la ComboBox1
    For N = 1 To sd_c.Count 'boucle sur tous les membres de la collection sd_c
        RechercheC2.AddItem sd_c(N) 'ajoute le membre à la ComboBox2 (NOM)
    Next N
End With
With Sheets("Base")
    dl = .Cells(Application.Rows.Count, 1).End(xlUp).Row
    Set pl = .Find("A2:A" & dl)
    aa = .Range("A2:BT" & dl)
    For i = 1 To UBound(aa)
        aa(i, 72) = i + 1
    Next i
    ListBoxLoc.List = aa
End With
End Sub
A+
 
Re : UserForm modification et saisie

Bonjour fhoest et le forum,

Je reviens à nouveau vers toi car malgré un projet qui a bien avancé grâce à ton aide, je bloque à nouveau.

Voici le lien du fichier : (c) CJoint.com, 2012

En effet, il me reste encore quatre problèmes :
- Quand je sélectionne les quatre filtres, lors de la sélection du dernier, une erreur d’exécution 5, appel d’argument ou de procédure incorrect, apparait.
- Quand je double clic sur une ligne pour que celle-ci s’affiche dans l’usf 2, la ligne remonte bien, mais dans l’onglet stagiaire, mais un certain nombre de textbox supplémentaire sont remplis alors qu’elle ne devrait pas, je ne comprends pas du tout pourquoi.
- Et au contraire quand je me sert du bouton modifier pour rappeler plusieurs lignes, là ce sont certaine TextBox de l’onglet stagiaire qui reste vide, et là encore je n’y comprend absolument rien
- Et enfin, ce qui est très certainement le plus complexe… Dans ma feuille « base » un certain nombre de colonne comme le nom prénom le matricule,… sont « commune » a deux page de l’usf deux. Je m’explique un nom prénom peut soit être celui d’un stagiaire, soit celui d’un formateur, la colonne 38 permet de faire la distinction, avec un O pour les formateurs et rien pour les stagiaires, si cela est possible, je souhaiterais qu’en fonction de ce critère les info de l’usf « recherche » remonte soit dans la page stagiaire soit dans la page formateur interne de l’usf 2.

Merci encore pour ton aide.
 
Re : UserForm modification et saisie

Bonsoir,
pour l'erreur execution 5 j'ai remplacé 9 par 5 dans la ligne suivante du code combobox4_change
Code:
If CStr(TC(I, 6)) = Me.ComboBox1.Value And CStr(TC(I, 3)) = Me.ComboBox2.Value And CStr(TC(I, 5)) = Me.ComboBox3 And CStr(TC(I, 1)) = Me.ComboBox4.Value Then
regarde si ca va pour commencer.
A+
 
Re : UserForm modification et saisie

Bonjour Grisan9,Piwwwa
- Quand je double clic sur une ligne pour que celle-ci s’affiche dans l’usf 2, la ligne remonte bien, mais dans l’onglet stagiaire, mais un certain nombre de textbox supplémentaire sont remplis alors qu’elle ne devrait pas, je ne comprends pas du tout pourquoi.
- Et au contraire quand je me sert du bouton modifier pour rappeler plusieurs lignes, là ce sont certaine TextBox de l’onglet stagiaire qui reste vide, et là encore je n’y comprend absolument rien
Moi non plus car je ne sais pas quelles TextBox doivent être remplie et non remplie
A+
 
Re : UserForm modification et saisie

Bonjour fhoest, grisan 29 et le forum,

Effectivement cela aurait était mieux, surtout que cela n’est qu’une part du projet, même si heureusement c’est la part le plus importante =) ! Mais c’est le problème quand pour la première fois ont fait un tel projet, on ne le mesure pas totalement et on ne pense pas à renommer les TextBox au départ !

J’ai tester de modifier la ligne que tu m’as donner, et effectivement même si je ne comprends pas pourquoi je n’ai plus d’erreur d’exécution, par contre dans le cas où un seul ligne devrait s’afficher, au lieu de s’afficher comme une ou plusieurs lignes de 72 colonnes dans le listbox, j’ai un affichage en colonne qui se fait (colonne A ligne 1, colonne B ligne 2,….) cf copie écran 1.
Et j’ai remarqué un autre problème que je n’avais pas décelé avant, qui est dans le cas où le filtre 1, 2 ou 3 ne doivent afficher qu’une seul ligne dans le listBox, j’ai alors une erreur d’exécution 9 qui se déclenche (cf copie d’écran 4).

Effectivement se problème de remplissage n’est peut-être pas assez explicite. Je m’explique, dans l’onglet stagiaire au vu des lignes de vba déjà écrite un certain nombre de colonne devrait se remplir quand je clique sur le bouton modifier, et toutes les textbox devrait se remplir en cas de double clique.
Mais quand je double clic au lieu d’avoir la première ligne entièrement rempli certaine Textbox reste vide et d’autre qui ne devrait pas se remplir le sont (cf. copie d’écran 2).
Et quand je clic sur le bouton modifier pour « rappeler » plusieurs lignes je n’est cette fois pas de problèmes de TextBox rempli qui ne le devrait pas, mais toujours le problème de TextBox qui reste vide, alors qu’elle ne devrait pas (cf. copie d’écran 3, TextBox vide qui ne devrait pas l’être en rouge).

Le fichier modifié qui m’a permis de me rendre compte des problèmes avec la listBox : (c) CJoint.com, 2012

Encore un grand merci pour votre aide.
 

Pièces jointes

  • Copie d'écran 1.jpg
    Copie d'écran 1.jpg
    38.8 KB · Affichages: 35
  • Copie d'écran 2.jpg
    Copie d'écran 2.jpg
    49.8 KB · Affichages: 26
  • Copie d'écran 3.jpg
    Copie d'écran 3.jpg
    55.1 KB · Affichages: 31
  • Copie d'écran 4.jpg
    Copie d'écran 4.jpg
    38.6 KB · Affichages: 31
Re : UserForm modification et saisie

Bonjour fhoest, grisan 29 et le forum,

Un petit up au cas où quelqu’un pourrait m’aider (que cela soit en abusent encore du temps de fhoest ou de quelqu’un d’autre) car j’ai beau tout essayer, je m’arrache les cheveux sur ce problème qui pour moi n’a aucune logique (même si je sais bien qu’au fond il y en a une ^^) !!

Merci d’avance pour votre aide.
 
Re : UserForm modification et saisie

Bonjour fhoest, grisan 29 et le forum,

Après beaucoup, beaucoup d’essaye j’ai finalement réussi à régler une partie du problème mais je soumet encore mon projet et mes questions à vos connaissance pour le finaliser.

Dans le cas d’une remonté multiple de ligne par le biais de l’usf recherche (sélection Libellé 1), quatre des cinq onglet ce remplisse à la perfection, mais j’ai encore un problèmes avec le cinquième, l’onglet formateur interne, qui se remplit mais avec parfois des décalages de colonnes et certaines info qui ne remonte pas du tout.

Quant à mes deux autres problèmes, eux malgré tous mes essaie il persiste toujours. A savoir que quand la listbox de l’usf recherche ne devrait afficher qu’une ligne (sélection libellé 5), une erreur d’exécution 9, l’indice n’appartient pas à la sélection apparait.

Et le problème en cas de double clic sur une ligne du listBox et toujours le même, à savoir que tout marche très bien pour trois page du multiform (logistique, formation, éléments annexes). Mais pour la page stagiaire au lieu de n’avoir qu’une ligne de rempli en totalité les éléments se disperse sur plusieurs lignes.

Le fichier que j’ai un peu réussi à améliorer : (c) CJoint.com, 2012

Un grand merci à tous les courageux qui se plancheront sur mon problème.
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

M
Réponses
4
Affichages
1 K
harry226h
H
D
Réponses
3
Affichages
956
D
P
Réponses
0
Affichages
1 K
P
V
Réponses
4
Affichages
1 K
VeBoA
V
V
Réponses
4
Affichages
1 K
V
P
Réponses
0
Affichages
641
P
G
Réponses
5
Affichages
2 K
gadget
G
D
Réponses
2
Affichages
861
D
Réponses
4
Affichages
1 K
Retour