IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Système d'autoclick pour InputBox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2
    Par défaut Système d'autoclick pour InputBox
    Bonjour à tous,

    Je débute en VBA (excuse classique) et j'ai un petit problème tout bête mais je bloque.

    D'abord le contexte : je travaille avec des animaux marqués par des puces électroniques. Le but du jeu est de trouver une macro qui permet de rechercher le code donné par la machine et d'aller la chercher directement dans le tableau avec le moins d'opérations possible pour l'opérateur (pour limiter le stress des animaux et parce que c'est chiant de gérer la bestiole et le PC en même temps).

    Alors j'ai trouvé ça qui marche bien sur internet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    Sub Find_Data()
    Dim datatoFind
    Dim sheetCount As Integer
    Dim counter As Integer
    Dim currentSheet As Integer
     
    On Error Resume Next
    currentSheet = ActiveSheet.Index
    Message = "Entrer le Tag à chercher." 
    Title = "Recherche de Tag version 1.00"
    datatoFind = InputBox(Message, Title, Default)
     
    If datatoFind = "" Then Exit Sub
    sheetCount = ActiveWorkbook.Sheets.Count
    If IsError(Cells.Find(What:=datatoFind, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
    :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
    False).Activate) = False Then GoTo Fin
    If ActiveCell.Value <> datatoFind Then
    MsgBox ("Value not found")
    Sheets(currentSheet).Activate
    GoTo Fin
    End If
    Fin:
    End Sub
    Bon tout ça c'est très bien, ça marche et tout, mais ça ne présente pas beaucoup plus d'intérêt que la fonction Rechercher d'Excel.
    Comme tous les codes font 16 caractère et que la machine "colle" tout simplement le code, je voulais savoir s'il était possible de valider automatiquement la box dès qu'une valeur y est collée ou que l'on atteint le 16ème caractère.

    Merci de votre aide !!!

  2. #2
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    je pense que tu pourrait lancer ta macro dès que le 16 caractère est tapé c'est tout a fait faisable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub TextBox1_Change()
    If Len(TextBox1) = 16 Then
    'la tu lance la macro a mon avis
    datatoFind =textbox1
    unload me
    End If
    End Sub
    Edit pardon tu utilise une input box, dans ce croi je pense que le plus simple est de faire unuserform avec juste un textbox et ton message, dans le code du userforme ce que je t'ai donnée
    tu déclare datatoFind en variable publique
    dans ton code a la place de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    datatoFind = InputBox(Message, Title, Default)
    tu met

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    317
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 317
    Par défaut
    Bonsoir,

    j'arrive pas à comprendre pourquoi tu dénombres le nombre d'onglets????

    Tes données sont dans plusieurs onglets, ou dans un seul?

    si dans un seul, tu pourrais faire un UserForm, avec un combobox, répertoriant tous les numéros..

    Au fur et à mesure que tu entre le numéro, le combobox te proposera un numéro....

    jusqu'à ce que tu le trouves (aussi bien en 3 lettres, ou chiffres....)

    et mettre les données dans un listbox....(par exemple)

    ce serait bien plus rapide

  4. #4
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2
    Par défaut
    Merci à tous les 2, mais je bloque toujours.

    Effectivement Mapeh, j'ai plusieurs onglets et je souhaite pouvoir effectuer la recherche dans chacun d'entre eux. Chaque onglet contient l'ensemble des tags mais avec des infos diverses. Donc ça ne permet pas une recherche par TextBox

    L'avantage de mon InputBox c'est qu'elle s'ouvre dans mon onglet actif, peu importe ou je suis.

    Ensuite l'histoire des combobox ou listbox, cela me paraît difficilement gérable, il y a 600 tags de 16 caractère chacun, et le but du jeu est qu'à chaque fois que je scanne le tag, j'aille à la ligne voulue pour ajouter des infos sur l'individu (nouveau poids, taille, etc)... d'où mon dilemme !

    Voilà pour les petites précisions.

    Merci tout de même de votre aide.

  5. #5
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    Citation Envoyé par MrGLoOP Voir le message

    L'avantage de mon InputBox c'est qu'elle s'ouvre dans mon onglet actif, peu importe ou je suis.
    C'est pour ca que je te propose un userform.... il se comportera pratiquement comme une inputbox
    Après si tu ne sais pas ce que s'est dit le il y a des tutos pour t'expliquer

  6. #6
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Bonjour tous,
    Dans l'idée de Krovax (que je salue)
    un petit exemple
    A+
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Système de tags pour catégoriser des textes
    Par yazerty dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 18
    Dernier message: 20/03/2006, 17h32
  2. [MySQL] Système de votes (pour les membres) : cmt le créer ?
    Par yazerty dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 20/02/2006, 12h58
  3. [Système] Langage c pour une apli web ?
    Par cedre22 dans le forum Langage
    Réponses: 9
    Dernier message: 14/12/2005, 15h05
  4. Réponses: 5
    Dernier message: 29/11/2005, 17h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo