|
|
|
|
Configuration: Windows XP Firefox 2.0.0.11
Application.ActiveWindow.ActiveCell = "My changes" |
Merci phil232 je vais voir ce soir si ça marche !
Mais avant il faut que je trouve comment faire pour que la sélection de ma listbox se retrouve dans la fenêtre de mon userform de modification. C'est à dire que l'utilisateur sélectionne une donnée dans la listbox, il clique sur modifier et là un userform s'ouvre avec dans la zone de texte la donnée qu'il a sélectionné auparavant dans la listbox. J'avais pensé à faire : Range("Coordonnées de la cellule contenant la donnée auparavant trouvée via une boucle").Select Selection.ModifDonnee.txt.Text = Range("Coordonnées de la cellule" ).Value Mais ça ne marche pas... |
Je crois ce cela qui te manque
LOOKUP(lookup_value,lookup_vector,result_vector) Mais utilise-tu un évenement genre OnClick pour récuperer la donnée ? Ou bien "il clique sur modifier" c'est un bouton dans la forme ? |
Modifier c'est bien un bouton dans le userform liste des données qui contient une listbox.. |
|
Résumons donc un peu : tu a une forme Excel qui contient une combo ou une listbox avec certaines données. Ces données sont enregistrées dans le même workbook mais dans un autre onglet (worksheet). Le user clique sur une entrée dans la liste puis il clique sur "Modifier". Le clique doit l'améner à la plage où sont sont stockées ces données. Le module à faire doit donc lire la sélection de la combo ou liste et puis faire un lookup pour touver la cellule qui contient cette données. Le user peut alors modifier le contenu de la cellule et la liste ou combo sont rafraichi pour que les modifs soient aussi visible dans la liste.
Est-ce cela ? |
Alors j'ai une application avec plusieurs Userform reliés entre eux. Et à côté j'ai une feuille Excel qui regroupe mes données (par exemple une colonne article et une colonne prix). Une fois l'utilisateur rendu à l'Userform LISTE DES DONNEES, il peut gérer les données : modifier, supprimer... Dans l'Userform il y a une listbox qui est intialisée à l'ouverture de l'Userform, l'utilisateur peut donc choisir dans la listbox la donnée qu'il veut modifier. Une fois qu'il a sélectionné la donnée à modifier dans la listbox, il clique sur le bouton MODIFIER qui ferme l'Userform LISTE DES DONNEES et ouvre un autre UserForm MODIFICATION. Cet Userform contient une txtBox article et une txtBox prix (dans mon exmple), ainsi que deux boutons Valider et Annuler.
Je veux que quand l'Userform MODIFICATION s'ouvre, les 2 txtBox soient remplis en fonction du choix de l'utilisateur. Imaginons qu'il est choisit dans la listbox LISTE DES DONNEES l'article "écran", quand l'Userform MODIFICATION s'ouvre, la txtBox article contient "écran" et la txtBox prix "179€". Pour cela il aura donc fallu que quand l'utilisateur clique sur Modifier dans l'Userform LISTE DES DONNEES, on aille chercher dans la colonne article de excel l'écran et qu'on ramène les informations contenues dans les cellules des 2 colonnes dans les 2 txtBox. j'espère que j'ai bien décrit la commande qui me pose problème au niveau du code. |
Ah j'ai oublié !
Une fois que l'utilisateur à fait ses modifications dans les 2txtBox, il clique sur Valider, et il faut que ses modifications remplacent les anciennes données au même endroit dans les colonnes excel. On remplace donc les valeurs des cellules. |
Hmmmm, ceci est alors une application de base de données. Primo Excel est un mauvais choix pour ça. Access serait déjà un pas dans la bonne direction (bien que c'est ne pas le meilleure mais pour une petite entreprise ça peut aller).
1. Ajoute une colonne "ID" car au moins une des valeurs sera changé il se peut que tu ne trouverais plus que est-ce qui a été changé 2. Il faut que qq chose se souvienne de la valeur à modifié car elle se trouve dans un autre formulaire. Sur OnClick du bouton modifier : Dim f as Form set f = new Form f.Show f.txtID = me.txtID f.txtArticle = me.txtArticle f.txtPrix = me.txtPrix 3. Après modif il faut chercher l'ancienne valeur avec l'ID et modifier les cellules adjacentes. Très onéreux on Excel. En principe il faudrait remplacer Excel contre une base de donnée. C'est nettement plus facile de gérer ses données dedans. Et si c'est pour le fonctions de calcul on peut toujours faire un lien vers la bdd et transferer le nécessaire. |
Je suis obligée de faire sous Excel...
Par contre, par rapport au code que tu me propose, suis-je obligée de mettre ID ? Parce que je 'nai pas besoin d'avoir un historique de mes modifications. Moi je pensais faire une boucle de recherche dans la colonne qui correspond à ce qu'à choist l'utilisateur. Une fois qu'il a trouvé l'article, l'integer étant mémorisé, j'ai le prix. Et c'est à ce moment là que je dis que la valeur de la cellule = txtBox. J'ai déjà la boucle de recherche, il me manque juste l'affichage dans les listbox de ce qu'a trouvé la boucle de recherche puis le remplacement après modification. Je vais essayer ça maintenant, merci ! |
au lieu de l'ID tu peux aussi mémoriser la cellule dans une variable variant |
Merci phil232, j'ai réussi ! tout fonctionne, le projet a été rendu ! merci encore |
| 29/05 11h37 | VBA Ajouter commandButton et le code qui va avec | Excel |
| 29/04 18h05 | Personnaliser la commande "Envoyer vers" | Windows |
| 19/01 13h59 | [Windows XP] Réparer la connexion réseau en ligne de commande | Windows |
| 10/04 09h20 | VBA Un timer une seconde tout simple | Excel |
| 16/05 09h19 | VBA: Se servir du compagnon pour communiquer avec l'utilisateur. | Bureautique |
| 08/11 23h07 | Excel vba et bouton commande | 4 |
| 19/07 15h41 | Recup donnée combobox et commandbarbutton VBA | 4 |
| 08/07 02h25 | BOUTON COMMANDE RELIÉ A CASE COCHÉ EXCEL | 0 |
| 06/06 09h24 | Aide programmation excel bouton commande | 8 |
![]() | free commander - Free Commander est une alternative pour remplacer le gestionnaire de fichier ou explorateur de Windows. Le programme est... | Catégorie: Gestion de fichiers Licence: Freeware/gratuit |
![]() | Tux Paint - TuxPaint Tux Paint est un logiciel de dessin libre conçu pour les jeunes enfants âgés de 3 ans et plus. Il possède une... | Catégorie: Dessin Licence: Freeware/gratuit |
![]() | NcFTP - NcFTP est un formidable client FTP en ligne de commande disponible pour la quasi-totalité des systèmes d'exploitation.... | Catégorie: Téléchargement Licence: Freeware/gratuit |
![]() | iCarbon - Vous avez un PC avec scanner et imprimante ? Alors iCarbon transforme le tout en photocopieuse. Le logiciel est très... | Catégorie: Bureautique Licence: Freeware/gratuit |
![]() | Spec Ops - Airborne | Catégorie: Jeu Playstation | |
![]() | Goblin Commander : Unleash | Catégorie: Jeu vidéo Xbox | 9.00 € Micromania |
![]() | Command & Conquer 3 | Catégorie: Jeu vidéo Xbox 360 | 29.90 € Rue du Commerce |
![]() | Saitek Pro Gamer Command | Catégorie: Joystick | 29.94 € Shoxx FR (Dretschler) |