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 :

Double clic met un X dans champs nommés [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Homme Profil pro
    Retraité 72 ans
    Inscrit en
    Mai 2011
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité 72 ans

    Informations forums :
    Inscription : Mai 2011
    Messages : 244
    Par défaut Double clic met un X dans champs nommés
    Bonjour à tous,
    En J2 et/ou L2 je voudrais que par un double clic dans ces cellules ça mette un X dans les champs nommés
    SelDestMailCc (J2) et/ou SelDestMailCci (L2)
    et que, si un X figure dans le champ nommé SelDestMailCci il soit effacé dans le champ nommé SelDestMailCc
    Si de nouveau, je double clic en J2 et/ou L2 ça efface tous les X des champs nommés.
    Est-ce possible... ?
    En vous remerciant chaleureusement.

  2. #2
    Membre averti
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Janvier 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Janvier 2010
    Messages : 17
    Par défaut
    Bonjour Jean30

    Je suis pas sur d'avoir compris ta demande, voici un proposition :
    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 Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, Range("J2, L2")) Is Nothing Then
      If Target.Address = "$J$2" Then
          If Target.Value <> "" Then
              Range("$J$2") = ""
          Else
              Range("$J$2").Value = "X"
              Range("$L$2").Value = ""
          End If
      Else
        If Target.Value <> "" Then
              Range("$L$2") = ""
          Else
              Range("$L$2").Value = "X"
              Range("$J$2").Value = ""
        End If
      End If
    End If
    Cancel = True
    End Sub

  3. #3
    Membre éclairé
    Homme Profil pro
    Retraité 72 ans
    Inscrit en
    Mai 2011
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité 72 ans

    Informations forums :
    Inscription : Mai 2011
    Messages : 244
    Par défaut
    Bonjour Drisc007 et merci de me répondre,
    J'ai testé ton code qui me met bien un X en J2 ou L2 ou le supprime, mais il ne reporte aucun X dans les champs nommés dynamiques
    J'ai mis un fichier si ça peut te permettre une meilleure compréhension.
    En te remerciant.

  4. #4
    Membre averti
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Janvier 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Janvier 2010
    Messages : 17
    Par défaut
    En effet c'est plus facilement compréhensible, voici :
    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 Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, Range("J2, L2")) Is Nothing Then
      If Target.Address = "$J$2" Then
          If Target.Value <> "" Then
              Range("SelDestMailCc") = ""
          Else
              Range("SelDestMailCc").Value = "X"
              Range("SelDestMailCci").Value = ""
          End If
      Else
        If Target.Value <> "" Then
              Range("SelDestMailCci") = ""
          Else
              Range("SelDestMailCci").Value = "X"
              Range("SelDestMailCc").Value = ""
        End If
      End If
    End If
    Cancel = True
    End Sub

  5. #5
    Membre éclairé
    Homme Profil pro
    Retraité 72 ans
    Inscrit en
    Mai 2011
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité 72 ans

    Informations forums :
    Inscription : Mai 2011
    Messages : 244
    Par défaut
    Re Drisc007,
    Ton code fonctionne très bien, mais je viens de voir un truc en plus, désolé de ne pas y avoir pensé avant.
    Peut-on ajouter au code une sélection individuelle des adresses selon le même principe ?
    En te remerciant beaucoup.

  6. #6
    Membre averti
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Janvier 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Janvier 2010
    Messages : 17
    Par défaut
    Oui bien sur que c'est possible :
    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
    36
    37
    38
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, Range("SelDestMailCc, SelDestMailCci")) Is Nothing Then
        If Not Intersect(Target, Range("J2, L2")) Is Nothing Then
            If Target.Address = "$J$2" Then
                If Target.Value <> "" Then
                    Range("SelDestMailCc") = ""
                Else
                    Range("SelDestMailCc").Value = "X"
                    Range("SelDestMailCci").Value = ""
                End If
            Else
                If Target.Value <> "" Then
                    Range("SelDestMailCci") = ""
                Else
                    Range("SelDestMailCci").Value = "X"
                    Range("SelDestMailCc").Value = ""
                End If
            End If
        Else
            If Target.Column = 10 Then
                If Target.Value <> "" Then
                    Target.Value = ""
                Else
                    Target.Value = "X"
                    Target.Offset(0, 2).Value = ""
                End If
            Else
                If Target.Value <> "" Then
                    Target.Value = ""
                Else
                    Target.Value = "X"
                    Target.Offset(0, -2).Value = ""
                End If
            End If
        End If
    End If
    Cancel = True
    End Sub

  7. #7
    Membre éclairé
    Homme Profil pro
    Retraité 72 ans
    Inscrit en
    Mai 2011
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité 72 ans

    Informations forums :
    Inscription : Mai 2011
    Messages : 244
    Par défaut
    Re,
    Pas facile de bien s'expliquer.
    La sélection manuelle fonctionne bien, mais j'ai perdu la sélection du champ.

    D'autre part il faudrait que seul la sélection en Cci efface le X en Cc s'il est présent.
    J'espère être plus clair, double clic en J2 met des X dans le champ MailCc, sélection en MailCci efface X de la même ligne en colonne J

    Je pense que seul le champ Cci doit être en manuel, mais peut-être que je me trompe.

    Avec mes remerciements.

  8. #8
    Membre éclairé
    Homme Profil pro
    Retraité 72 ans
    Inscrit en
    Mai 2011
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité 72 ans

    Informations forums :
    Inscription : Mai 2011
    Messages : 244
    Par défaut
    Bonsoir,
    En J2 je voudrais que par un double clic dans ces cellules ça mette un X dans les cellules du champ nommé SelDestMailCc (de J2 à J...)
    En L2 je voudrais que si je met un X (manuellement) ça efface le X en J sur la même ligne, autant de fois que de sélection faite en mettant un X dans la colonne L
    Le double clic ne doit fonctionner que pour la colonne L2
    Un nouveau double clic en J2 efface toute les sélections de la colonne J2....
    En vous remerciant.

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

Discussions similaires

  1. Utiliser le double clic sur une liste dans HTA
    Par papyxy dans le forum VBScript
    Réponses: 3
    Dernier message: 06/07/2014, 09h14
  2. Vérifier si un double clic se fait dans une plage nommée
    Par damsmut dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 17/12/2008, 16h40
  3. IceFaces : double clic sur une ligne dans une table
    Par sebastiens57 dans le forum JSF
    Réponses: 4
    Dernier message: 13/11/2008, 10h55
  4. Réponses: 8
    Dernier message: 11/05/2006, 11h04

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