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 :

Empêcher le sélection d'un onglet non voulue


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 154
    Par défaut Empêcher le sélection d'un onglet non voulue
    Bonjour,

    J'ai un formulaire de recherche de données. Lorsque j'appuie sur rechercher il m'affiche le résultat dans le formulaire mais il se place aussi sur l'onglet ou se trouve toutes mes données.

    Comment faire pour que l'onglet ou se trouve les données ne s'affiche pas. Un peu comme un ScreeUpdating

    D'avance merci

  2. #2
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Bonjour,

    Si ça se produit, c'est qu'à un moment donné ton code le demande, peux-tu nous mettre la partie de code concernée (entre balises)

    cordialement,

    Didier

  3. #3
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 154
    Par défaut
    Sur clic du bouton j'ai le code suivant

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    Private Sub Bt_Rechercher_Click()
     
    onglet = "Liste des demandes"
     
        If UserForm2.TextBox1.Text = "" Then
            GoTo Erreur
        End If
     
    Dim x As Long
    Sheets(onglet).Activate
     
    For x = 1 To Range("A65535").End(xlUp).Row
        If UCase(Range("A" & x)) Like "*" & UCase(UserForm2.TextBox1.Value) & "*" Then
            GoTo Trouve
            Exit For
        End If
    Next x
     
    GoTo Erreur
    Exit Sub
     
    Trouve: LigneActive = x
     
    UserForm2.TextBox2.Value = Sheets(onglet).Cells(LigneActive, "B").Value
    UserForm2.TextBox3.Value = Sheets(onglet).Cells(LigneActive, "D").Value
    UserForm2.TextBox4.Value = Sheets(onglet).Cells(LigneActive, "E").Value
    UserForm2.TextBox5.Value = Sheets(onglet).Cells(LigneActive, "F").Value
     
    Exit Sub
     
    Erreur: MsgBox ("Requête non trouvée et/ou Accents non acceptés !")
    Exit Sub
     
    End Sub
    J'ai un Sheets(onglet).Activate mais je suis obligé de l'avoir sinon la recherche va se faire dans l'onglet d'ou se fait l'appel au UserForm de recherche.

    il y a surement une autre méthode mais je ne sais pas faire;

    Cordialement

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Essaies comme ceci
    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
    with Sheets(onglet)
     
    For x = 1 To .Range("A65535").End(xlUp).Row
        If UCase(.Range("A" & x)) Like "*" & UCase(UserForm2.TextBox1.Value) & "*" Then
            GoTo Trouve
            Exit For
        End If
    Next x
     
    GoTo Erreur
    Exit Sub
     
    Trouve: LigneActive = x
     
    UserForm2.TextBox2.Value = .Cells(LigneActive, "B").Value
    UserForm2.TextBox3.Value = .Cells(LigneActive, "D").Value
    UserForm2.TextBox4.Value = .Cells(LigneActive, "E").Value
    UserForm2.TextBox5.Value = .Cells(LigneActive, "F").Value
     end with
    Sinon, ceci pourrait faire l'affaire (plus rapide)
    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
    Private Sub Bt_Rechercher_Click()
    Dim x As Long, LigneActive As Long
    Dim c As Range
    Const Onglet = "Liste des demandes"
     
    If UserForm2.TextBox1.Text <> "" Then
        With Sheets(Onglet)
            Set c = .Range(.Cells(1, 1), .Cells(Rows.Count, 1).End(xlUp)).Find(UserForm2.TextBox1.Value, lookat:=xlPart)
            If Not c Is Nothing Then
                LigneActive = c.Row
                UserForm2.TextBox2.Value = .Cells(LigneActive, "B").Value
                UserForm2.TextBox3.Value = .Cells(LigneActive, "D").Value
                UserForm2.TextBox4.Value = .Cells(LigneActive, "E").Value
                UserForm2.TextBox5.Value = .Cells(LigneActive, "F").Value
            Else
                MsgBox "Requête non trouvée et/ou Accents non acceptés !"
            End If
        End With
    End If
    End Sub

  5. #5
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 154
    Par défaut
    Merci mercatog,

    C'est super et en plus la 2eme solution donne un code beaucoup plus lisible

    Merci pour l'optimisation

    Est ce que tu saurais, je suis sur que tu sais, quel propriété de mon bouton je dois modifier pour que je ne sois pas obligé de cliquer avec la souris sur le bouton pour valider. Quand j'appuie sur "Entrée" il ne se passe rien

  6. #6
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Du moment que la propriété TabStop du bouton est à True et qu'il a le focus, Entrée agira comme le click.

  7. #7
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Bonsoir,

    C'est la propriété Default, à mettre à True.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] Sélection des feuilles "onglets" voulue
    Par Mynathir dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/03/2012, 14h01
  2. [WD-2007] Problème de sélection de texte non voulue
    Par Objectiva dans le forum Word
    Réponses: 4
    Dernier message: 17/09/2011, 20h40
  3. Picking: une sélection par défaut non voulue
    Par GLDavid dans le forum OpenGL
    Réponses: 3
    Dernier message: 10/06/2008, 09h15
  4. probleme d'espace non voulu entre 2 bloc
    Par piff62 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 12/04/2005, 16h07
  5. Empécher la sélection du texte des pages dans un WebBrowser
    Par DevelOpeR13 dans le forum Web & réseau
    Réponses: 2
    Dernier message: 05/06/2003, 18h36

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