Excel VBA userform
Résolu
anthony
-
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Comment faut il procéder pour que la macro qui fonctionne en la lançant manuellement soit accessible directement via une page d'accueil avec le user form créé ?
http://www.cijoint.fr/cjlink.php?file=cj201101/cijuc4eaWR.xls
à la place de la boîte de saisie je souhaiterais que ce soit la 1ère case du user form et le résultat s'affiche dans la seconde au lieu de la boîte de dialogue
merci à vous
Comment faut il procéder pour que la macro qui fonctionne en la lançant manuellement soit accessible directement via une page d'accueil avec le user form créé ?
http://www.cijoint.fr/cjlink.php?file=cj201101/cijuc4eaWR.xls
à la place de la boîte de saisie je souhaiterais que ce soit la 1ère case du user form et le résultat s'affiche dans la seconde au lieu de la boîte de dialogue
merci à vous
5 réponses
-
Bonjour,
Essaye ceci. Pour "lancer" l'UserForm : ALT+F8 choisir "Lancement_UserForm" et Exécuter...
Pour info, j'utilise la méthode find pour chercher le contenu du textbox1 :Private Sub CommandButton2_Click() 'déclaration des variables Dim Trouve As Range Dim Valeur_cherchee As String 'Si pas de saisie alors on quitte la procédure avec message à l'utilisateur If TextBox1 = "" Then MsgBox "Veuillez saisir un numéro de produit" Exit Sub End If 'Valeur_cherchee est la variable, contenue dans textbox1, que l'on va chercher 'dans la feuille "Serie-masques" Colonne 1 (A) avec la méthode find Valeur_cherchee = TextBox1.Value 'ici trouve représente la cellule ou l'on a trouvé (ou pas) le n° de produit Set Trouve = Sheets("Serie-masques").Columns(1).Cells.Find(what:=Valeur_cherchee) 'si le numéro n'existe pas message à l'utilisateur If Trouve Is Nothing Then MsgBox "Numéro de produit inconnu" Else 'Si le numéro existe alors on met la valeur de la cellule voisine colonne C TextBox2.Value = Trouve.Offset(0, 2).Value End If Set Trouve = Nothing End Sub -
YEEEEEES
trop fort, ça fonctionne nickel,
j'ai juste modifié
TextBox2.Value = Trouve.Offset(0, 2).Value en
TextBox2.Value = Trouve.Offset(0, 1).Value pour obtenir la série
merci beaucoup pijaku
j'essayais de faire autrement qu'avec l fonction vlookup car ça buggait -
mince ça n'a pas pris mon message précédent.
j'ai un soucis, si je note 22 par exemple, ça m'affiche une valeur alors que le produit n°22 n'existe pas. comment peut on être sûr que la valeur affichée est la bonne ? -
bon je n'ai rien dit, je suis tombé sur LE cas particulier qu'est 22 car en testant d'autres nombres ça n'affiche rien, dans le genre je mets le doigt sur le truc différent, je suis pas mauvais.
merci à toi, excellent travail -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour,
l'application est très appréciée des utilisateurs ;-) bravo
j'ai une question.
Une fois la série trouvée et affichée, il faudrait à partir du bouton "everest" que le programme everest s'ouvre (C:\Documents and Settings\All Users\Documents\everest.exe) et que la fenêtre permettant de sélectionner le fichier à charger soit à l'écran pour éviter de perdre du temps dans l'arborescence des répertoires.
par contre les choses sont complexes car les fichiers à charger ne sont pas dans un même répertoire mais dans des sous-répertoires de cette cible :
X:\CAD\Export_Data\Fichiers_Testeurs
X:\CAD\Export_Data\Fichiers_Testeurs\D1200_1224\1216
Si par exemple on obtient la série 1216 avec ta macro, il faut ouvrir everest, choisir open, se rendre ici X:\CAD\Export_Data\Fichiers_Testeurs, ouvrir le dossier D1200_1224 car 1216 est bien compris entre 1200 et 1224, et ensuite ouvrir le dossier 1216 et là on tombe sur 3 ou 4 fichiers et l'utilisateur n'aurait plus qu'à choisir celui qui l'intéresse.
en gros il faudrait qu'il y ait comme un search dans le répertoire global
X:\CAD\Export_Data\Fichiers_Testeurs avec le critère du numéro de série et hop on accède aux 3-4 fichiers
Penses tu que ce soit réalisable ? et de quelle manière ?
http://www.cijoint.fr/cjlink.php?file=cj201101/cijvlZ3Ras.xls-
-
-
Bonsoir pijaku, l'effet domino de ton code, maintenant les utilisateurs ont fait la demande d'avoir un fichier actualisé par jour. ça se déroulerait ainsi, la feuille serie masque serait le fichier journalier et il faudrait à partir de la page d'accueil contenant le user form,
soit allez piocher le numéro de série dans ce fichier sans l'ouvrir (il sera tjs au même endroit et tjs avec le même nom)
soit faire un import des nouvelles données dans le fichier du user form, sur la feuille serie masque en écrasant les lignes.
tu saurais comment faire l'une des deux méthodes ? -
-