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 :

Plage de données et ouverture userForm


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Développeur .NET
    Inscrit en
    Août 2018
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2018
    Messages : 62
    Par défaut Plage de données et ouverture userForm
    Bonjour à tous,

    J'ai un petit souci avec l'ouverture de mon userform.

    Je vous explique j'ai une calculatrice qui s'ouvre lorsque l'on clique sur une cellule de la colonne n°13.

    J'aimerais également que cette calculatrice s'ouvre lorsque l'on clique dans la plage de données .D33:G35

    Et mon problème est que je ne sais pas comment faire pour ajouter à ma colonne 13 ma plage de données D33:G35 dans mon code.

    Merci à vous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     
    On Error Resume Next
    ' ouverture pavé numérique colonne 13 saisie POIDS
    If Target.Count = 1 And Target.Column = 13 Then
      If Calculette.Visible = True Then
        Calculette.Top = ActiveWindow.Height / 2
      Else
        Calculette.Show
      End If
    Else
      Unload Calculette
    End If

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 385
    Par défaut
    Rebonjour,

    Tu as déjà cette ligne de code qui te permet de vérifier que ta cellule appartient à la ligne 1 ET à la colonne 13:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Target.Count = 1 And Target.Column = 13 Then
    Il te faut appliquer la même logique, mais avec un OU.

    Un truc du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Target.Count = 1 And Target.Column = 13 Then Or...

  3. #3
    Membre confirmé
    Femme Profil pro
    Développeur .NET
    Inscrit en
    Août 2018
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2018
    Messages : 62
    Par défaut
    Merci pour ta réponse

    N'étant pas très à l'aise en VBA j'ai essayé de "bidouillé" quelques trucs mais ça ne fonctionne pas ^^

    j'ai essayé également avec (Target, Range("D33:G35")) mais sans succès ...

    Je ne vois pas comment sélectionner toute la plage de données ..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     
    On Error Resume Next
    ' ouverture pavé numérique colonne 13 saisie POIDS
    If Target.Count = 1 And Target.Column = 13 Or Target.Range = "D33:G35" Then
      If Calculette.Visible = True Then
        Calculette.Top = ActiveWindow.Height / 2
      Else
        Calculette.Show
      End If
    Else
      Unload Calculette
    End If

  4. #4
    Membre confirmé
    Femme Profil pro
    Développeur .NET
    Inscrit en
    Août 2018
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2018
    Messages : 62
    Par défaut
    Je viens de tester ce code pensant que j'avais trouvé ... mais maintenant dès que je clique dans une cellule ma calculatrice s'ouvre ...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     
    On Error Resume Next
    ' ouverture pavé numérique colonne 13 saisie POIDS
    If Target.Count = 1 And Target.Column = 13 Or Target = Range("D33:G35") Then
      If Calculette.Visible = True Then
        Calculette.Top = ActiveWindow.Height / 2
      Else
        Calculette.Show
      End If
    Else
      Unload Calculette
    End If

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Pluplume Voir le message
    Bonjour,

    A tester (ShowModal = false pour le userform)
    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
     
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     
            If Target.Count > 1 Then Exit Sub
     
            If Not Intersect(Target, Columns(13)) Is Nothing Then
               LancerLaCalculette
               Exit Sub
             Else
               Unload Calculette
            End If
     
            If Not Intersect(Target, Range("D33:G35")) Is Nothing Then
               LancerLaCalculette
               Exit Sub
             Else
                Unload Calculette
            End If
     
    End Sub
     
    Private Sub LancerLaCalculette()
     
          If Calculette.Visible = True Then
             Calculette.Top = ActiveWindow.Height / 2
          Else
             Calculette.Show
          End If
     
    End Sub
    Dernière modification par Invité ; 12/08/2019 à 16h08. Motif: Exit sub à rajouter

  6. #6
    Membre confirmé
    Femme Profil pro
    Développeur .NET
    Inscrit en
    Août 2018
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2018
    Messages : 62
    Par défaut
    Merci Eric ça fonctionne bien sur ma plage D33:G35 ! Par contre lorsque je clique dans la colonne 13 la calculatrice s'ouvre et se referme immédiatement

    As-tu une idée du pourquoi?

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

Discussions similaires

  1. Insérer un plage de données dans un UserForm (Interface)
    Par Yullll dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 05/12/2016, 11h49
  2. Afficher plage de données dans un userform
    Par alex_a dans le forum Excel
    Réponses: 1
    Dernier message: 06/01/2016, 22h07
  3. Importation plage données pour création Userform
    Par ericdev67 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 09/03/2013, 17h57
  4. [XL-2007] Récupération de plage de données d'un autre classeur avec macro d'ouverture et de fermeture
    Par yannick63430 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/11/2012, 11h46
  5. [XL-2007] Alimentation de la ComboBox d'un UserForm à partir d'une plage de donnée
    Par Loukassit0 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/02/2012, 18h22

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