Sauvegarder userform dans une forme pour la réouvrir plus tard

  • Initiateur de la discussion Initiateur de la discussion Pasbleau
  • 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

Pasbleau

Guest
Bonjour à tous

J'ai quelques notions en vba, mais je ne sais pas si ce que je souhaite réaliser est réalisale.

Je dispose d'une userform qui se compose comme un formulaire. On entre des valeurs dans plusieurs textbox, combobox ... et lorqu'on clique sur "valider", ces valeurs se copient dans un tableau.

Seulement, en cas d'erreur de saisie, j'aimerais pour modifier une ligne du tableau repasser par mon userform. En gros, j'aimerais avoir au début de chaque ligne un lien (une forme, un rectangle par exemple) qui lorsque je clique dessus m'ouvre mon userform déja remplie avec les valeurs présentent dans cette ligne. Et que lorsque je modifie cette nouvelle userform, ça me modifie les valeurs déja présente dans le tableau (sans me rajouter une nouvelle ligne dans le tableau).

J'espere avoir été claire, voici mon programme simplifié en pièce jointe.

Merci !
 

Pièces jointes

Re : Sauvegarder userform dans une forme pour la réouvrir plus tard

Bonsoir Pasbleau

Ce que tu demandes de faire avec un objet (Elipse) est difficilement réalisable
En revanche par un double clique sur une cellule, là ok

A toi de nous dire si tu veux vraiment utiliser une forme !?

A+
 
Re : Sauvegarder userform dans une forme pour la réouvrir plus tard

Oui, un double clique sur la cellule peut me convenir ...
Merci fo_rum pour ton code.
Mais au lieu de double cliquer dans la première cellule, peux on faire en sorte de double cliquer sur n'importe quelle cellule de la ligne ?

Et je pense qu'il faut ajouter un "unload userform1" à ton code, car une fois que je modifie une ligne, je ne peux plus ajouter de nouvelle ligne à mon tableau, et ça doit rester le but ! (voir mon premier fichier joint).

Et, dernière demande ... peux tu me commenter ton code pour que je l'adapte ? J'ai un peu de mal à tout saisir ...

Merci beaucoup pour votre aide
 
Re : Sauvegarder userform dans une forme pour la réouvrir plus tard

De plus, dans le fichier de fo_rum, il y a un message d'erreur lorsqu'on clique sur le rectangle pour lancer l'userfom1 grace à la macro :
sub use()
userfom1.show
end sub

Cette erreure apparait lorsqu'on clique sur le rectangle en premier, sans avoir cliqué sur les elipses avant ..
 
Re : Sauvegarder userform dans une forme pour la réouvrir plus tard

Re,

De plus, dans le fichier de fo_rum, il y a un message d'erreur lorsqu'on clique sur le rectangle pour lancer l'userfom1 grace à la macro :
sub use()
userfom1.show
end sub

Cette erreure apparait lorsqu'on clique sur le rectangle en premier, sans avoir cliqué sur les elipses avant ..
Comme je m'attendais à cette remarque :
c'est normal, la variable l n'est pas initialisée (première ligne non vide de la colonne B).

Avec le double clic sur une ligne, tu n'as pas besoin du bouton (je l'ai quand même laissé)
 

Pièces jointes

Re : Sauvegarder userform dans une forme pour la réouvrir plus tard

Merci beaucoup, mais je n'arrive pas à me dépatouiller avec ton code. Je l'ai copié dans mon fichier et j'ai toujours un message d'erreur me disant : erreur d'exécution 2147024809 Objet spécifié introuvable, et dans le débogueur, ça me met en surbrillance userform1.

Je ne comprends pas ...

Je vous envoie mon vrai fichier, si vous pouvez le regarder un petit peu pour comprendre mon erreur ...

Merci
 

Pièces jointes

Re : Sauvegarder userform dans une forme pour la réouvrir plus tard

Bonjour Pasbleau,

Je pense que ton problème vient de la référence manquante
Dans VBE -> menu Outils -> Référence -> décocher [MANQUANT]

A+
 
Re : Sauvegarder userform dans une forme pour la réouvrir plus tard

Re,

Désolé de ne pas avoir suivi la conversation, trop de boulot 😱
A l'initialisation de ton USF, tu remplis tes TextBox
Code:
Private Sub UserForm_Initialize()
    For n = 1 To 4
        Controls("Textbox" & n) = Cells(l, n + 1)
    Next
End Sub
Sauf que le TextBox2 n'existe pas et à été remplacé par le Textbox69
Il suffit de modifier le nom !

A+
 
Re : Sauvegarder userform dans une forme pour la réouvrir plus tard

Re,

Désolé, je n'avais pas suivi tout le fil 😱
Voici ton fichier modifié

1) j'ai modifié le nom de ta variable pour la ligne, car "l" peut être confondu avec "1"
2) J'ai changé le code de ton bouton "Valider"

Tout est expliqué dans le code 😉

A+
 

Pièces jointes

Re : Sauvegarder userform dans une forme pour la réouvrir plus tard

Bonjour.

Merci BrunoM45 de prendre du temps. Ton code à l'air de bien m'avancer, mais il a des bugs que je n'arrive pas a résoudre.
De plus, seuls les textbox et combobox jusqu'à la colonne '"4" se remplissent automatiquement alors que je souhaiterez que toute se remplissent automatiquement avec les valeurs du tableau.
 
Re : Sauvegarder userform dans une forme pour la réouvrir plus tard

Salut Pasbleau,

Ne compte pas sur moi pour faire ton boulot à ta place 😉
Il suffit d'ajouter des boucles selon les objets à complèter

A+
 
- 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

  • Question Question
Microsoft 365 Bug sur une macro
Réponses
6
Affichages
463
Retour