Problème d’affichage =ge (UNSERFORM)

  • Initiateur de la discussion Initiateur de la discussion M.D
  • 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 !

M.D

XLDnaute Occasionnel
Bonsoir,

Je me tourne de nouveau vers vous, car je n’arrive pas trouver à la solution qui à l’aide du bouton modifier la fiche de mon userforn, pourrait me permettre d’afficher les données préalablement enregistrées..
J’avais imaginé le code suivant :
TextBox_code.Value = ("BD_Eleve")Cells(ligne_insertion, 2)
Le code d’enregistrement est :
ligne_insertion = Sheets("BD_Eleve").Range("A65000").End(xlUp).Row + 1
Sheets("BD_Eleve").Cells(ligne_insertion, 2) = TextBox_code.Value

Merci d’avance de consacrer un petit moment de votre temps pour me venir en aide.
M.D
 
Re : Problème d’affichage =ge (UNSERFORM)

Bonsoir M.D., bonsoir le forum,

Remplace ":
TextBox_code.Value = ("BD_Eleve")Cells(ligne_insertion, 2)
par : TextBox_code.Value = Sheets("BD_Eleve").Cells(ligne_insertion, 2)
Ensuite il y a un problème avec :
Code:
Private Sub UserForm_Terminate()
'Protection de la feuille lors de la fermeture avec la croix.
protegefeuille
End Sub
protegefeuille ???
 
Re : Problème d’affichage =ge (UNSERFORM)

Re bonsoir

Tout d'abord merci pour votre réponse aussi rapide.

Je viens d'essayer le code proposé. mais malheureusement çà me vas pas.


Dans le même temps j 'ai oté le code de la protection, en effet çà me sert à rien pour l'instant.

Suivant vos conseils, j'ai enregistré mon fichier sous une version 97/2003 et mis en pièce jointe

De nouveau MERCI

M.D
 
Re : Problème d’affichage =ge (UNSERFORM)

Bonsoir M.D., bonsoir le forum,

ça plante sur la ligne :
Code:
TextBox_code.Value = Sheets("BD_Eleve").Cells(ligne_insertion, 2)
parce que la variable ligne_insertion est vide.

Il te faut, d'une part, déclarer tes variables en fonction de la valeur qu'elle sont censées contenir (Byte, Integer, String, etc.) et ensuite les initialiser dans le code...
Par exemple :
Code:
Dim li As Integer
li = Sheets("BD_Eleve").Cells(Application.Rows.Count, 1).End(xlUp).row
TextBox_code.Value = Sheets("BD_Eleve").Cells(li, 2)
Regarde ici l'excellent travail sur les variables de MyDearFriend sur son site...
 
Re : Problème d’affichage =ge (UNSERFORM)

Bonsoir,
Merci à Robert pour son aide d’hier soir.
Cependant il y a un petit souci dans l’affichage des données, après avoir actionné le bouton « MODIFIER »
De mon userform_eleve
1°) il m’affiche une seule donnée sur 15, et c’est la dernier qui s’affiche dans le texte 2 (deuxieme ligne de ma BD_eleve.)
2°) De plus après correction, je valide ma fiche. Mais au lieu d’apporter la ou les corrections, il y a création d’une nouvelle ligne.

J’avais construit ma procédure de la façon suivante
Private Sub CommandButton_modifier_Click()


If Label_ligne.Caption = "LIGNE" Then 'Si enregistrement
ligne_insertion = Sheets("BD_eleve").Range("A65000").End(xlUp).Row + 1
Else 'Si modification
ligne_insertion = Label_ligne.Caption
End If
Dim li As Integer
li = Sheets("BD_Eleve").Cells(Application.Rows.Count, 1).End(xlUp).Row

TextBox_code.Value = Sheets("BD_Eleve").Cells(li, 1)
TextBox_code.Value = Sheets("BD_Eleve").Cells(li, 2)
TextBox_code.Value = Sheets("BD_Eleve").Cells(li, 3)
TextBox_code.Value = Sheets("BD_Eleve").Cells(li, 4)
TextBox_code.Value = Sheets("BD_Eleve").Cells(li, 5)
TextBox_code.Value = Sheets("BD_Eleve").Cells(li, 6)
TextBox_code.Value = Sheets("BD_Eleve").Cells(li, 7)
TextBox_code.Value = Sheets("BD_Eleve").Cells(li, 8)
TextBox_code.Value = Sheets("BD_Eleve").Cells(li, 9)
TextBox_code.Value = Sheets("BD_Eleve").Cells(li, 10)
TextBox_code.Value = Sheets("BD_Eleve").Cells(li, 11)
TextBox_code.Value = Sheets("BD_Eleve").Cells(li, 12)
TextBox_code.Value = Sheets("BD_Eleve").Cells(li, 13)
TextBox_code.Value = Sheets("BD_Eleve").Cells(li, 14)
TextBox_code.Value = Sheets("BD_Eleve").Cells(li, 15)
End Sub

3°) quelle est la procédure à mettre en place afin de pouvoir établir une nouvelle fiche tout en gardant l'userform ouvert, après avoir ovoir enregistrer une fiche précedement.
Si vous pouvez de nouveau m’aide,ça serait très bien.
Merci de vous patience et de votre aide


M.D
 
Re : Problème d’affichage =ge (UNSERFORM)

Bonjour M.D., bonjour le forum,

Relis-toi M.D., tu attribues à la même TextBox TextBox_code 15 valeurs différentes est donc au final, elle n'affiche que la dernière : Sheets("BD_Eleve").Cells(li, 15). N'aurais-tu pas oublié de changer de textbox...

Pour ton deuxième problème je vais essayer de revoir ton projet. À quoi sert la ScrollBar ?
 
Re : Problème d’affichage =ge (UNSERFORM)

Bonsoir (2)

Ok, autant pour moi.
la ScrollBar me servira à rechercher une ligne avant de faire une modification.
je joins en pièce jointe mon fichier avec les dernières corrections

Merci de votre coup de main

M.D
 
Re : Problème d’affichage =ge (UNSERFORM)

Bonsoir M.D, bonsoir le forum,

En pièce jointe ton fichier modifié. Je me suis permis de le mettre à ma sauce...
• L'onglet Listes permet de rentrer les composants des différentes listes qui alimenteront les comboboxes. La définition d'un nom dynamique (avec la formule "DECALER") fait que si tu rajoutes, modifies ou supprimes une valeur. Les comboxes seront mise à jour automatiquement à la prochaine ouverture de l'UserForm... (regarde Insertion/Nom/Définir...).

• les contrôles qui doivent être renseignés (textboxes et comboboxes) ont une propriété Tag qui correspont au numéro de la colonne (dans l'onglet BD_ELEVE) dans lequel leur valeur doit être renvoyée. Tag de TextBox_Date = 1, Tag de TextBox_code = 2, etc. C'est grâce à ce système que l'on envoie les données de l'UserForm dans le tableau ou, au contraire, que l'on récupère les données du tableau dans l'UserForm. Avec aussi, la variable publique li qui détermine la ligne...

• Rajout d'une sécurité au niveau du code élève à la validation.
• Suppression des bouton inutiles...
• codes commentés

Le fichier :
 

Pièces jointes

Re : Problème d’affichage =ge (UNSERFORM)

Bonjour, au forum et particulièrement à Robert
Un peu perfectionniste, et pour le fun

Pouvez-vous m’indiquez s’il est possible de
1°) de créer une macro de façon d’afficher dans le textbox Age, directement l’Age en fonction de la date de naissance ?
2°) Si il est possible dans le textbox besoin d’une dérogation, de mettre une condition en fonction de l’Age, c’est ça dire d’affiche directement oui pour les personnes de moins de 18 ans et non pour ceux qui ont plus de 18 ans.

Après je ferais une farfouille dans le forum pour trouver comment afficher l’heure, imposer le format pour la date de naissance par exemple etc.

Merci de nouveau de votre aide précieuse
M.D
 
Re : Problème d’affichage =ge (UNSERFORM)

Bonjour à tous au fourm, à Robert
- La base de données élevé fonctionne très bien Merci
- Une base de données entreprise sera élaborée sur le même modelé
- Ces deux bases de données alimentent un formulaire nommé « Orga »
Ce fichier après mis à jour, alimente un publipostage.
Ça marche bien. Seulement deux petits soucis
Alors si je peux abuser dles compétences de Robert afin que ce dernier puisse venir en aide.
Si ces points sont résolus, me faciliteraient beaucoup dans mon travail.
1°) Dans le fichier « orga » comment je peux afficher par une macro, les codes des élèves par classe, (au choix) à l’aide d’une liste déroulante. Colonne allant de (c17 :c37). Bien sur les codes élèves se trouvant dans le fichier « eleve »
2°) En actionnant le bouton « Impression des documents : convention », comment je peux ouvrier le fichier convention, assurer les liaisons etc.
La procédure mise en place est la suivante, mauvaise car ça ne fonctionne pas
Sub Ouvre_Wordd2()
'décl des variables
Dim wdApp As Word.Application
Dim wdDoc As Word.Document, "bureau/convention.doc"
'défin des variables
chemin = "bureau/convention.doc".Value
If Dir(chemin) = "" Then
MsgBox chemin & " introuvable !"
Exit Sub
End If

Merci de votre aide

M.D
 
Re : Problème d’affichage =ge (UNSERFORM)

Bonjour M.D., bonjour le forum,

Désolé mais là, c'est plus trop dans mes compétences, d'une part, et ça devient trop lourd, d'autre part... je t'avoue que je n'aime pas rentrer comme ça dans des projets aboutis et complexes.
Peut-être serait-il plus avisé d'ouvrir un autre fil mais en épurant et en ne fournissant que les données nécessaires...
 
- 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

Discussions similaires

Retour