Excel VBA userform
Résolu/Fermé
anthony
-
17 janv. 2011 à 11:31
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 25 janv. 2011 à 08:38
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 25 janv. 2011 à 08:38
A voir également:
- Excel VBA userform
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Aller à la ligne excel - Guide
- Déplacer une colonne excel - Guide
5 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
17 janv. 2011 à 12:47
17 janv. 2011 à 12:47
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
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
18 janv. 2011 à 08:36
18 janv. 2011 à 08:36
Bonjour,
Si tu as une référence comme : 22456 et que tu saisis 22, c'est normal qu'il te trouve quelque chose... Il trouve ton 22 dans la chaîne 22456...
Si tu as une référence comme : 22456 et que tu saisis 22, c'est normal qu'il te trouve quelque chose... Il trouve ton 22 dans la chaîne 22456...
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
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
19 janv. 2011 à 11:22
19 janv. 2011 à 11:22
Salut,
Je ne sais pas si ce que tu demandes est faisable...
Je vais voir si quelqu'un de plus compétent peux prendre le relais...
A+
Je ne sais pas si ce que tu demandes est faisable...
Je vais voir si quelqu'un de plus compétent peux prendre le relais...
A+
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 ?
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
25 janv. 2011 à 08:38
25 janv. 2011 à 08:38
Bonjour,
Ta question mérite l'ouverture d'un nouveau sujet...
Ta question mérite l'ouverture d'un nouveau sujet...