Bonjour voila j'ai un fichier avec un formulaire de modification et 3 feuilles , quand je sélectionne une ligne et que je clique sur modifier mon formulaire ouvre la ligne sélectionné il affiche la ligne mais je ne peux pas la modifier
J'aimerais simplement qu'on puisse modifier la ligne grâce au formulaire mais j'ai aussi un autre besoin
Il y a une colonne nommé statut cette colonne est dans chaque tableau de chaque feuille et contient le nom de la feuille dans les cellules , j'aimerais donc que lorsque je modifie par le formulaire le statut un module copie la ligne du statut modifier et la colle dans la bonne feuille
Pour être plus clair je vous donne un exemple , si je suis dans la feuille prêt le statut est égale a prêt mais si je le modifie en Doté alors la ligne modifié doit être copié et collé dans la feuille Doté
Si possible la ligne doit être supprimé
Merci d'avance et n'hésitez pas a me poser des questions si je n'ai pas été assez clair
(Le fichier est partagé en lien google drive)Fichier Excel
Bonjour.
À quoi bon séparer des donnée dans plusieurs tableaux s'il peut exister dans un seul une colonne suffisant à les différencier ? Ça ne fait que compliquer les choses inutilement.
Avec un seul tableau cet outil vous serait certainement utile :
Définit deux types d'objets à évènements: ComboBoxLiées prenant en charge les ComboBox pour la saisie des données d'identification de la ligne à créer, puis, ultérieurement, à consulter voire modifier, et ControlsAssociés prenant en charge les...
Bonjour.
À quoi bon séparer des donnée dans plusieurs tableaux s'il peut exister dans un seul une colonne suffisant à les différencier ? Ça ne fait que compliquer les choses inutilement.
Avec un seul tableau cet outil vous serait certainement utile :
Définit deux types d'objets à évènements: ComboBoxLiées prenant en charge les ComboBox pour la saisie des données d'identification de la ligne à créer, puis, ultérieurement, à consulter voire modifier, et ControlsAssociés prenant en charge les...
Bonjour je suis chez Renault et ils ont un besoin de séparer les données en plusieurs tableaux pour pouvoir les gérer de manière indépendante et que ca soit plus facile pour eux
Le probleme c'est que je suis obligé de diviser ca en 3 feuilles car on ma demandé de faire ca comme ca je cherche juste grace au formulaire a lorsqu'il y a un changement sur le statut a declanché une macro qui copie colle la ligne et qui la supprime rien de plus
Non il y a 3 feuilles , par exemple on est sur Stock et on modifie le statut en Doté alors la ligne doit passer de la feuille Stock a la feuille Doté et ca pour chaque feuilles
Oui mais il y a aussi "Test" et "Stock" dans la colonne Statut de la feuille "Stock". Ils y restent ou y retournent ceux là, ne vont pas dans des feuilles "Stock" et "Test" ?
Oui mais il y a aussi "Test" et "Stock" dans la colonne Statut de la feuille "Stock". Ils y restent ou y retournent ceux là, ne vont pas dans des feuilles "Stock" et "Test" ?
Oui en effet "Test" n'est qu'un test je ne veux que Pret Doté et Stock et en effet une feuille ne peut normalement avoir que son propre nom dans les colonnes statut
Bonjour.
Notez que s'il n'est guère destiné à évoluer (comme pouvant traiter plusieurs lignes, à rechercher dans l'UserForm par exemple, mais avec 3 tableaux c'est compliqué) on peut quand même faire un peu plus simple
Bonjour désolé de vous répondre si tardivement merci pour votre travail je souhaiterais juste quand je modifie une ligne mais qu'elle n'est pas dans le tableau plus tot qu'un message error dire selectionner une autre ligne
Encore merci car le fichier fonctionne nickel
Quand je sélectionne une ligne qui n'est pas dans le tableau et que je fait modif le code plante j'aimerais simplement qu'a la place un message dit a l'utilisateur de sélectionner une autre ligne
J'ai aussi essayé de modifier votre code car j'ai ajouté des colonnes mais cela ne fonctionne pas
Mettez le début de la UserForm_Activate comme ça :
VB:
Private Sub UserForm_Activate()
Dim LMax As Long
With ActiveCell
Set LOt = .ListObject
If Not LOt Is Nothing Then LMax = LOt.ListRows.Count: LCou = .Row - LOt.HeaderRowRange.Row
End With
If LCou < 1 Or LCou > LMax Then MsgBox _
"Veuillez sélectionner une ligne du tableau", vbCritical: End
Et revoyez la fin de la Valider_Click car il me semble y être resté un TVL(1, 3) au lieu de TVL(1, 20)