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 :

Empecher une action si certaines cellules sont vides [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Coordinatrice de traduction
    Inscrit en
    Juin 2013
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Japon

    Informations professionnelles :
    Activité : Coordinatrice de traduction
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2013
    Messages : 24
    Par défaut Empecher une action si certaines cellules sont vides
    Bonjour.
    Tout d'abord je voudrais remercier enormement toutes les personnes qui m'ont precedement aidees sur ce site, et m'excuser d'avances des manques d'accentuation.

    J'ai actuellement un fichier avec des listes de traducteurs, ainsi que plusieurs informations qui leur sont propres (leur prix, langue...)

    J'ai un macro qui me permet, par un double click, de les "selectionner" (faire apparaitre un X devant leur nom pour l'utilisation d'un autre macro)

    Jusque la pour le montage du macro tout se passait bien.
    Par contre du coup meme si je double clique sur une case ou il n'y a pas de donnes de traducteurs, le X apparait quand meme.

    et en essayant de corriger ce probleme, j'ai une erreur.

    Je precise que j'ai besoin que les cellules des colonnes b,c,e,f,g soient remplies pour que le "X" puisse apparaitre. L'information de la colonne D n'importe peu.
    La liste de traducteurs doit s'etendre avec le temps. (d'ou pas de checkbox)

    voici le code problematique (la partie avec m renvoie en erreur ou alors ne fait rien ...)

    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
    Option Explicit
     
     
    Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
     
     
      'Check and uncheck command
     
        Dim k, m As Range
        Set k = Intersect(Target, Columns(1), Rows("2:" & Rows.Count))
        Set m = Range("b2,c2,e2,f2,g2").EntireColumn
        If m.Value = "" Then
        Exit Sub
        Else
        'do nothing
        End If
     
     
        If k Is Nothing Then Exit Sub
        Application.EnableEvents = False
        Cancel = True
        If k.Value <> "" Then
            k.ClearContents
        Else
            k.Value = "x"
        End If
        Application.EnableEvents = True
     
     
    End Sub
    je vous joins le fichier pour que vous y jetiez un oeil (en zip parce que le .xlsm ne passe pas)

    Si vous pouviez m'aider, me corriger, ou me dire ou je fais fausse route, je serais ravie de vous ecouter.

    Merci beaucoup par avance.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre averti
    Femme Profil pro
    Coordinatrice de traduction
    Inscrit en
    Juin 2013
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Japon

    Informations professionnelles :
    Activité : Coordinatrice de traduction
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2013
    Messages : 24
    Par défaut
    Je me reponds moi meme car j'ai finalement trouve une solution.
    Je vous met le code pour si un jour quelqu'un se retrouve avec le meme probleme que moi,
    j'espere que ca aidera.

    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
    Option Explicit
     
     
    Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
     
     
      'Check and uncheck command
     
        Dim k As Range
        Set k = Intersect(Target, Columns(1), Rows("2:" & Rows.Count))
        If k Is Nothing Then Exit Sub
        Application.EnableEvents = False
        Cancel = True
        If k.Value <> "" Then
            k.ClearContents
        Else
            If Application.CountA(k.Range("b1:c1,e1:f1,g1")) = 5 Then k.Value = "X"
     
        End If
        Application.EnableEvents = True
     
     
    End Sub

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

Discussions similaires

  1. [XL-2010] Suppression d'une ligne dont les cellules sont vides à partir d'une certaine colonne
    Par juju05 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/04/2015, 13h54
  2. Réponses: 18
    Dernier message: 01/07/2013, 15h03
  3. [XL-2003] Executer une macro dès que 4 cellules sont vides
    Par zazrun dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 12/02/2012, 13h14
  4. Suppression d'une ligne dont la cellule est vide
    Par dolphinus27 dans le forum Excel
    Réponses: 5
    Dernier message: 12/09/2007, 11h18
  5. Retourné des lignes dont certains champs sont vides
    Par griese dans le forum Langage SQL
    Réponses: 5
    Dernier message: 27/06/2006, 10h23

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