rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

Bouton Commande VBA

Posté par vbfuté, le mercredi 5 décembre 2007 à 21:52:53
Bonjour,
Je suis à la recherche du code pour modifier une donnée via un bouton de commande.
C'est à dire que l'utilisateur choisit dans la liste puis clique sur modifier, il faut qu'on se place à l'endroit où se trouve la donnée à modifier et qu'on la remplace au même endroit. Autrement dit il y a un travail de recherche à faire pour trouver la donnée dans le tableau excel, et une fois qu'on la trouvée la modification prend place dans le tableau excel ! Je n'arrive pas à faire le code ...
Configuration: Windows XP
Firefox 2.0.0.11
Répondre à vbfuté  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
phil232, le jeudi 6 décembre 2007 à 16:22:15
Application.ActiveWindow.ActiveCell = "My changes"
Répondre à phil232

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
vbfuté, le jeudi 6 décembre 2007 à 17:04:15
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...
Répondre à vbfuté

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
phil232, le jeudi 6 décembre 2007 à 17:20:05
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 ?
Répondre à phil232

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
vbfuté, le jeudi 6 décembre 2007 à 21:20:58
Modifier c'est bien un bouton dans le userform liste des données qui contient une listbox..
Répondre à vbfuté

5


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
phil232, le vendredi 7 décembre 2007 à 10:54:54
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 ?
Répondre à phil232

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
vbfuté, le vendredi 7 décembre 2007 à 11:32:43
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.
Répondre à vbfuté

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
vbfuté, le vendredi 7 décembre 2007 à 11:35:01
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.
Répondre à vbfuté

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
phil232, le vendredi 7 décembre 2007 à 13:23:59
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.
Répondre à phil232

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
vbfuté, le vendredi 7 décembre 2007 à 14:11:07
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 !
Répondre à vbfuté

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
phil232, le vendredi 7 décembre 2007 à 14:15:16
au lieu de l'ID tu peux aussi mémoriser la cellule dans une variable variant
Répondre à phil232

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 vbfuté, le mercredi 12 décembre 2007 à 11:49:36
Merci phil232, j'ai réussi ! tout fonctionne, le projet a été rendu ! merci encore
Répondre à vbfuté
Logiciels pertinents trouvés dans les téléchargements
Télécharger free commander 2007.10afree 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
Télécharger Tux Paint 0.9.16Tux 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
Télécharger NcFTP 3.2.1NcFTP - 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
Télécharger iCarbon 2.2.1iCarbon - 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
Plus de logiciels gratuits sur « Bouton Commande VBA »