J'ai fais un fichier Excel qui contient un user form (onglet "Feuil1"). Une fois remplie, l'utilisateur clique sur "Valider" et le UserForm se ferme.
Les données ont été transférés dans l'onglet "Partie 1".
Jusqu'à là tout va bien.
Mais je voulais savoir :
- s'il existait une fonction qui permettait de sauvegarder les données dans l'UserForm pour une futur modification des données ? Par exemple, l'utilisateur souhaite modifier quelques données et il ouvre le Userform et à sa validation seul les données saisis sont remplacés sans effacer les autres cases.
- S'il était possible que pour chaque entrée d'une nouvelle révision (par exemple, passage de révision A à B), celui ci est automatiquement mit après la ligne de la révision A ? (faut - il mettre +1 en dimension ?)
Bonjour Simbaa,
Pour le 1er point, il suffit de restituer les valeurs avant de faire le Userform1.show avec :
VB:
Sub AFFICHER()
With UserForm1
.NumAf.Value = Sheets("Partie 1").Range("C18").Value 'entrée du numéro d'affaire
.CoDoc.Value = Sheets("Partie 1").Range("C22").Value ' entrée du nom du document
.Composant_name.Value = Sheets("Partie 1").Range("A14").Value 'entrée nom du composant à fournir
.Equipement.Value = Sheets("Partie 1").Range("C20").Value 'entrée nom de l'équipement
.Client.Value = Sheets("Partie 1").Range("C24").Value 'entrée nom du client final
.Rev.Value = Sheets("Partie 1").Range("A30").Value 'entrée de la version du doc
.date_edition.Value =...
a mon avis travailler sur plusieur page va être un carcan
fait toi une bdd avec un TS et retransfere le tout dans tes pages quand il y a besoins
peut être une liste box reprenant toute la bdd dans le userform pour reprendre les données
ouais conclusion c'est pas le bon chemin que tu a pris surtout si tu n'a pas la formation necessaire en vba
Bonjour Simbaa,
Pour le 1er point, il suffit de restituer les valeurs avant de faire le Userform1.show avec :
VB:
Sub AFFICHER()
With UserForm1
.NumAf.Value = Sheets("Partie 1").Range("C18").Value 'entrée du numéro d'affaire
.CoDoc.Value = Sheets("Partie 1").Range("C22").Value ' entrée du nom du document
.Composant_name.Value = Sheets("Partie 1").Range("A14").Value 'entrée nom du composant à fournir
.Equipement.Value = Sheets("Partie 1").Range("C20").Value 'entrée nom de l'équipement
.Client.Value = Sheets("Partie 1").Range("C24").Value 'entrée nom du client final
.Rev.Value = Sheets("Partie 1").Range("A30").Value 'entrée de la version du doc
.date_edition.Value = Sheets("Partie 1").Range("B30").Value 'entrée de la date de création du fichier
.redacteur.Value = Sheets("Partie 1").Range("C30").Value 'entrée du nom du rédacteur
.verificateur.Value = Sheets("Partie 1").Range("D30").Value 'entrée du nom du vérificateur
.observation.Value = Sheets("Partie 1").Range("E30").Value 'entrée observation
.approbateur.Value = Sheets("Partie 1").Range("F30").Value 'entrée du nom de l'approbateur final
End With
UserForm1.Show
End Sub
- S'il était possible que pour chaque entrée d'une nouvelle révision (par exemple, passage de révision A à B), celui ci est automatiquement mit après la ligne de la révision A ? (faut - il mettre +1 en dimension ?)
Bonjour Simbaa,
Pour le 1er point, il suffit de restituer les valeurs avant de faire le Userform1.show avec :
VB:
Sub AFFICHER()
With UserForm1
.NumAf.Value = Sheets("Partie 1").Range("C18").Value 'entrée du numéro d'affaire
.CoDoc.Value = Sheets("Partie 1").Range("C22").Value ' entrée du nom du document
.Composant_name.Value = Sheets("Partie 1").Range("A14").Value 'entrée nom du composant à fournir
.Equipement.Value = Sheets("Partie 1").Range("C20").Value 'entrée nom de l'équipement
.Client.Value = Sheets("Partie 1").Range("C24").Value 'entrée nom du client final
.Rev.Value = Sheets("Partie 1").Range("A30").Value 'entrée de la version du doc
.date_edition.Value = Sheets("Partie 1").Range("B30").Value 'entrée de la date de création du fichier
.redacteur.Value = Sheets("Partie 1").Range("C30").Value 'entrée du nom du rédacteur
.verificateur.Value = Sheets("Partie 1").Range("D30").Value 'entrée du nom du vérificateur
.observation.Value = Sheets("Partie 1").Range("E30").Value 'entrée observation
.approbateur.Value = Sheets("Partie 1").Range("F30").Value 'entrée du nom de l'approbateur final
End With
UserForm1.Show
End Sub
Pour le deuxième point, le fichier est généré en une première version (appelé Révision A) s'il y a des modifications à faire, le fichier va passer en révision B. Mais après réflexion, je pense que je vais enlever cet partie et le rendre manuel.
a mon avis travailler sur plusieur page va être un carcan
fait toi une bdd avec un TS et retransfere le tout dans tes pages quand il y a besoins
peut être une liste box reprenant toute la bdd dans le userform pour reprendre les données
ouais conclusion c'est pas le bon chemin que tu a pris surtout si tu n'a pas la formation necessaire en vba