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
A voir également:
- Excel VBA userform
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel compter cellule couleur sans vba - Guide
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 :
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
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 ?
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
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
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 ?
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 ?