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 :

Mettre un message suite effacement contenu cellule


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Femme Profil pro
    SANS
    Inscrit en
    Juillet 2014
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : SANS
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 69
    Par défaut Mettre un message suite effacement contenu cellule
    Bonjour
    J'ai encore et encore besoin de votre aide .
    J'ai un fichier constitué d'un onglet recap qui me permet de générer des onglets "En copiant l'onglet analyse" si je renseigne la colonne B et C de l'onglet " RECAP ANALYSES", l'onglet généré a pour nom le contenu de la cellule B .
    Le code VBA pour cette génération fonctionne bien.
    Mais je souhaiterai lorsqu'on efface ou modifie le contenu de C mettre un message de confirmation pour supprimer l'onglet si la valeur de C est supprimée et rendre B non modifiable si la cellule C correspondante reste renseignée.

    J'ai essayé un code si la valeur de C est modifiée mais cela ne fonctionne pas .(Je vous joints le fichier sans ce code )
    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_Changevaleur(ByVal Target As Range)
      If Target.Column = 3 Then And Target <> "" Then
        If Target.Row > 3 And Target.Row < 103 Then
          If Selection.Locked = False Then
            Cells(Target.Row, 3).Value = MsgBox(" Eh mon ami es tu sûr de vouloir effacer  cette valeur ? (l'onglet analyse va être supprimé !!!", vbYesNo) = vbNo
            MsgBox "Cellule non modifiée"
            Sheets(Onglet).Delete
            Cells(Target.Row, 2).Value = ""
          End If
       End If
    End If
    End If
    End Sub
    Merci pour votre aide précieuse. Malgré mes efforts (je cherche depuis 3 jours la solution mais j'ai beaucoup de mal avec Excel et VBA )

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    J'ai indenté ton code (Indenter = décaler les blocs de code pour visualiser plus facilement la structure). Ca permet de remarquer que tu as 3 If et 4 End If...

    L'indentation de ton code met aussi en évidence qu'il n'y a pas de test sur la réponse au MsgBox. Tu mets simplement la valeur dans une cellule mais tu en fais quoi après? Si tu réponds NON, tu ne dois pas supprimer ta feuille.

    Normalement, on teste plutôt le OUI et on agit si on a répondu OUI. Sans présumer du reste, voici comment j'écrirais le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Worksheet_Changevaleur(ByVal Target As Range)
      If Target.Column = 3 Then And Target <> "" Then
        If Target.Row > 3 And Target.Row < 103 Then
          If Selection.Locked = False Then
            If MsgBox(" Eh mon ami es tu sûr de vouloir effacer  cette valeur ? (l'onglet analyse va être supprimé !!!", vbYesNo) = vbYes Then
              ...
              ...
            End If
          End If
        End If
      End If
    End Sub
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  3. #3
    Membre confirmé
    Femme Profil pro
    SANS
    Inscrit en
    Juillet 2014
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : SANS
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 69
    Par défaut CODE VBA excell 2007 : Mettre un MESSAGE SUITE EFFACEMENT CONTENU CELLULE
    Je voudrai avant de pouvoir effacer le contenu de la cellule en Colonne C (qui implique la suppression de l'onglet dont le nom est en colonne B ) avoir un message de confirmation voulez vous vraiment effacer le contenu de la cellule ? si réponse oui effacer sinon ne rien faire
    Merci

Discussions similaires

  1. [XL-2013] Effacer contenu cellules
    Par Mande massa dans le forum Excel
    Réponses: 2
    Dernier message: 23/11/2016, 11h50
  2. Effacer contenu cellule selon critères
    Par sandrine6282 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 09/06/2016, 22h22
  3. Réponses: 8
    Dernier message: 09/02/2016, 20h15
  4. [XL-2013] macro copier, effacer des cellule et coller à la suite
    Par mimi13580 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 16/11/2014, 14h26
  5. [XL-2007] Effacer contenu cellule
    Par Bugzy1963 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 19/02/2010, 17h32

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