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 :

Demander la confirmation d'une suppression


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 132
    Par défaut Demander la confirmation d'une suppression
    j'ai une macro supprimer afecter a un bouton click.... j'aimerais que par le meme fait il demande confirmation ..oui ou non ,

    j'entre le code dans la meme macro ou ailleur ....j'ai un code que j'ai un debut de code , mais je sais pas ou le mettre en plus il me donne une erreur
    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
    Sub Message()
    msg = "TOUTE LES DONNÉES SERONT SUPPRIMÉ VOULEZ-VOUS CONTINUER ?"
    Style = vbYesNo + vbDefaultButton1
    Title = "SUPPRIMER"
    Réponse = MsgBox(msg, Style, Title)
    If Réponse = vbYes Then
    Set MaSélection = Application.ActiveCell
    MaSélection.Value = (100)
        Cells.Select
        Selection.Borders(xlDiagonalDown).LineStyle = xlNone
        Selection.Borders(xlDiagonalUp).LineStyle = xlNone
        Selection.Borders(xlEdgeLeft).LineStyle = xlNone
        Selection.Borders(xlEdgeTop).LineStyle = xlNone
        Selection.Borders(xlEdgeBottom).LineStyle = xlNone
        Selection.Borders(xlEdgeRight).LineStyle = xlNone
        Selection.Borders(xlInsideVertical).LineStyle = xlNone
        Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
        Selection.Interior.ColorIndex = xlNone
        Selection.ClearContents
        Range("A1").Select
     
    Else
    Range("A2").Select
    End Sub
    vous avez une idée ?

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 567
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 567
    Par défaut
    le message d'erreur est pourtant clair. bloc if sans end if
    si tu décalre une condition, il faut la terminer.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if  ceci=cela ...then .....si ceci=cela ... alors
    faire cecicela..............faire cecicela
    else faire autrechose....sinon faire autre chose
    end if........................fin si

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Par défaut
    Salut lebeniste
    Il y a 2 syntaxe possible pour l'utilisation de if

    if Condition Then si Vrai else si faux
    sur une ligne : excel comprend que la limite est le changement de ligne

    if condition Then
    une ou plusieurs instructions si vrai
    else
    une ou plusieurs conditions si faux
    end if
    Là Excel, comme il n'y a pas de limite doit savoir qu'elles sont les instructions qui font parties du test. Donc il faut lui ire "après cette ligne, ça ne fait plus partie du test". => obligation de mettre un Ebd If
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub Message()
    .....
    If Réponse = vbYes Then
        Set MaSélection = Application.ActiveCell
        MaSélection.Value = (100)
        Cells.Select
        ....................
        Selection.ClearContents
    Else
        Range("A2").Select
    End if
    End Sub
    même ainsi (j'ai limité au instructions intéressantes) je ne comprends pas ta macro. Si je la lis :
    Si réponse est = Oui alors
    MaSélection = cellule active
    MaSélection = 100 Pourquoi les parenthèses ? Elles ne sont pas utiles.
    Sélectionner toutes les cellules de la feuilles Y compris la cellule active où on vient d'écrire 100
    les mettre en forme
    supprimer le contenu des cellules sélectionnée Y compris celui de ma cellule active ::: Pourquoi lui mettre une valeur pour l'effacer ?

    A+

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 132
    Par défaut
    c'est bien vrai j'avais oublier end if..... tout fonctionne bien ....

    grace a vous tous je vais me coucher un peu moins niaiseux se soir merci de votre aide......



    un autre de résolue

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 132
    Par défaut
    pourquoi dans celci ca fonctionne pas .... elle rafraichie la feuille mais la box n'apparait pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub filtre()
    barreEtatEnregistrée = Application.DisplayStatusBar
    Application.DisplayStatusBar = True
    Application.StatusBar = "Création du tarif catalogue.....Veuillez patienter, SVP....."
    With Sheets("bd")
        For i = .Range("c65536").End(xlUp).Row To 2 Step -1
            If IsEmpty(.Cells(i, 3)) Then Rows(i).Delete
        Next i
    End With
    Application.Wait Now + TimeValue("00:00:00")
    Application.StatusBar = True
    Application.DisplayStatusBar = barreEtatEnregistrée
     
    End Sub

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Par défaut
    Salut lebeniste
    pourquoi dans celci ca fonctionne pas .... elle rafraichie la feuille mais la box n'apparait pas
    qu'appelles-tu box ? Rien dans ton code ne suggère une inputbox ou un msgbox.
    Quand a avoir un message de 0 seconde d'attente....
    Sans compter que le message est lancé après que la boucle soit exécuter (quoique je ne connaisse pas les instructions statusbar.
    A+
    Edit : Je viens de tester, le message s'affiche bien dans la barre d'état ...??

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 132
    Par défaut
    en fait je croyais que le code activait un msg box pour indiquer le temps ,ou un message patienter....
    dans mon cas je dois activer un bouton macro qui fait un tri des données, et ca peu etre long , pour evité que d'autre click partout en pensant que ca bug, je voulais un message....

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

Discussions similaires

  1. MessageBox de confirmation d'une suppression
    Par sisi87 dans le forum ASP.NET
    Réponses: 6
    Dernier message: 22/09/2010, 15h11
  2. Réponses: 1
    Dernier message: 24/09/2007, 16h32
  3. Réponses: 4
    Dernier message: 24/09/2007, 16h17
  4. Pop-up pour confirmer une suppression
    Par Sophie2097 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 26/10/2006, 11h57
  5. Réponses: 3
    Dernier message: 26/05/2006, 16h07

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