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 :

Condition IF pour déclencher une macro


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    en retraite
    Inscrit en
    Février 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Meuse (Lorraine)

    Informations professionnelles :
    Activité : en retraite
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Février 2015
    Messages : 9
    Par défaut Condition IF pour déclencher une macro
    comment écrire cette condition If car je ne souhaite pas engager la macro si les cellules "a1:a3" et "c25:c30" de la feuille "INSCITS" ne sont pas vides

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub TestVide()
    If CellsIsVide(Sheets("INSCITS").Range("a1:a3,c25:c30")) = True Then MsgBox "Vide" Else MsgBox "Pas Vide"
    End Sub
     
    Function CellsIsVide(Plage As Range) As Boolean
    Dim I As Long
    CellsIsVide = True
    For I = 1 To Plage.Count
    If Trim("" & Plage(I)) <> "" Then CellsIsVide = False: Exit Function
    Next
    End Function

  3. #3
    Membre du Club
    Homme Profil pro
    en retraite
    Inscrit en
    Février 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Meuse (Lorraine)

    Informations professionnelles :
    Activité : en retraite
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Février 2015
    Messages : 9
    Par défaut
    Bonjour
    Merci d'avoir pris en compte ma requête
    Cette macro bloque sur la ligne If CellsIfVide.

    Bien cordialement

  4. #4
    Invité
    Invité(e)
    Par défaut
    c'est normal! la fonction s'appelle CellsIsVide et pas CellsIfVide

  5. #5
    Membre du Club
    Homme Profil pro
    en retraite
    Inscrit en
    Février 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Meuse (Lorraine)

    Informations professionnelles :
    Activité : en retraite
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Février 2015
    Messages : 9
    Par défaut
    Voici ma ligne bloquante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If CellsIsVide(Sheets("Saisie résultats").Range("i8:i30,l8:l30")) = False Then MsgBox "Vider les cellules comportant des résultats"

  6. #6
    Invité
    Invité(e)
    Par défaut
    chez moi ça fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if CellsIsVide(Sheets("Saisie résultats").Range("i8:i30")) = False Then MsgBox "Vider les cellules comportant des résultats"
    quel es le message d'erreur?

  7. #7
    Membre du Club
    Homme Profil pro
    en retraite
    Inscrit en
    Février 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Meuse (Lorraine)

    Informations professionnelles :
    Activité : en retraite
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Février 2015
    Messages : 9
    Par défaut
    voici la macro complète
    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
    Sub classementDE1àX(Optional strBidon As String) 'Cette macro permet de numéroter les JSP pour les faire apparaitre dans un ordre souhaité dans les tableaux sport et oral/Manoeuvre
            If Range("B4") = "" Then
        MsgBox "Aucun coureur enregistré ( Pas de Dossard détecté)", vbYes, ""
        Exit Sub
        End If
     
       If CellsIFVide(Sheets("Saisie résultats").Range("i8:i30,l8:l30")) = False Then MsgBox "Vider les cellules comportant des résultats"
        Exit Sub
        End If
        lifin = Range("B" & Rows.Count).End(xlUp).Row
        Range("A4:A" & lifin).Select
     
        Dim c As Range, num As Long
        num = 1
        For Each c In Selection
     
     
            If c.EntireRow.Hidden = False Then
                c.Value = num
                num = num + 1
            End If
        Next c
        Range("A3").Value = "Clt"
        Range("A3").Select
    'Protection de feuille
    Range("A4").Select
        ActiveSheet.Protect "melanie2015"
     
        ActiveSheet.Protect "melanie2015", True, True, True
            Range("A4").Select
    End Sub
    Je souhaiterais que la numérotation de la feuille ne se réalise que si les cellules citées de la feuille "Saisie résultats" sont totalement vides

Discussions similaires

  1. [XL-2003] Double conditions pour terminer une macro
    Par ThSPB dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/03/2011, 16h28
  2. Appeler un fichier XL déjà ouvert pour faire une macro
    Par oliver75 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 31/05/2007, 12h33
  3. [VBA-E] déclencher une macro a chaque fin d'ecriture dans une cellule
    Par k-eisti dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/04/2007, 19h45
  4. faire une condition pour arrêter une macro
    Par db48752b dans le forum Access
    Réponses: 11
    Dernier message: 21/09/2006, 20h21
  5. Prob pour exporter une macro en code VBA
    Par electrosat03 dans le forum Access
    Réponses: 6
    Dernier message: 04/02/2006, 19h15

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