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 l'enregistrement si une cellule rouge est detectée


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Responsable en conduite du changement
    Inscrit en
    Octobre 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable en conduite du changement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2016
    Messages : 7
    Par défaut Empecher l'enregistrement si une cellule rouge est detectée
    Bonjour,

    je souhaite dans le fichier joint empêcher l'enregistrement du classeur si une cellule rouge (MFC) est détectée sur la feuille "liste des entités". Pouvez vous m'aider ?

    Merci par avance
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut


    Bonjour,

    si la couleur est modifiée par une MFC alors elle n'est pas détectable, mauvaise idée donc ‼

    Il suffit simplement de reproduire dans le code la condition de la MFC …


    _________________________________________________________________________________________________________
    Je suis Paris, Nice, Bruxelles, Charlie, …

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Il faut déclarer une variable booléenne public qui inhibera l'enregistrement du classeur.

    Faire une fonction qui valide l'expression que tu utilisera dans don mfc.

    En d'autres termes une fonction qui retourne True rouge false pas rouge, ton mec interprète la fonction et la fonction elle même valide la variable public!

    Je rejoins Marc sur le fait qu'il n'y a pas d'événements à intercepter pour ce genre de traitement et qu'il faut ce le pognier!
    Dernière modification par AlainTech ; 20/10/2016 à 06h33. Motif: Suppression de la citation inutile

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Salut,

    pour completer ce qu'ojn deja dit mes petits camarades, le code qui sera a prevoir sera situe dans l'evenement avant enregistrement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    'Si la variable Cancel = True, cela stoppera l'enregistrement
    End Sub
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut


    Oui désolé, tellement focalisé sur la MFC, l'évènement j'ai oublié …

  6. #6
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour

    http://www.developpez.net/forums/d10...r/#post5708812

    je n'ai pas creusé la pertinence du post, mais émanant de Philippe .... ça vaut le coup de s'y intéresser ?

  7. #7
    Membre Expert
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Par défaut
    bonsoir,
    je suis allé voir à droite et à gauche sur le net sur le sujet le trouvant intéressant
    Mis à part le même lien donné par joe.levrai, je n'ai rien trouvé de vraiment concluant
    j'ai donc fais une MFC toute simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub Macro1()
    With Range("A1:E22")
        .FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _
            Formula1:="=1"
        .FormatConditions(.FormatConditions.Count).SetFirstPriority
        With .FormatConditions(1).Interior
            .PatternColorIndex = xlAutomatic
            .Color = 255
            .TintAndShade = 0
        End With
        .FormatConditions(1).StopIfTrue = False
    End With
    End Sub
    Puis utiliser vos conseils :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
        Cancel = Application.WorksheetFunction.CountIf(Range("A1:E22"), "=1") > 0
    End Sub
    C'est nickel
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

  8. #8
    Membre régulier
    Homme Profil pro
    Responsable en conduite du changement
    Inscrit en
    Octobre 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable en conduite du changement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2016
    Messages : 7
    Par défaut Empecher l'enregistrement si une cellule rouge est detectée
    Bonjour à tous,

    merci infiniment pour toutes vos réponses que je vais m'empresser de tester. C'est cool de pouvoir compter sur votre aide.

    Cordialement

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/03/2010, 11h29
  2. Tester si une cellule xls est en italique
    Par ab1to dans le forum VBA PowerPoint
    Réponses: 1
    Dernier message: 01/03/2010, 13h26
  3. ListView empecher la sélection d'une cellule
    Par frizou11 dans le forum C
    Réponses: 2
    Dernier message: 17/10/2007, 17h12
  4. Sélection de texte à l'intérieur d'une cellule. C'est [PAS] possible.
    Par Blackfox dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 20/08/2007, 14h01
  5. Réponses: 5
    Dernier message: 29/09/2005, 13h55

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