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 :

Empêcher l'action d'un bouton [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
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 43
    Par défaut Empêcher l'action d'un bouton
    Bonjour à tous,

    J'ai créé un listing téléphonique avec trois boutons dedans. Il y a un bouton "ajout", un autre "recherche" et un troisième "suppression". Ma questions est pour le bouton supression en priorité car, lorsque je clique dessus, ma macro se lance en ouvrant une boite de dialogue demandant le nom de la personne à supprimer. Le souci vient du fait que, si j'annule mon action, il me supprime la première ligne de ma feuille. Donc, comment éviter cela?

    Pour le bouton ajout, j'ai un souci un peu différent mais moins problématiques. L'ajout se fait en 5phases, je demande le nom puis le prénon, puis l'adresse, le num et pour finir le mail.Si à la première boite de dialogue, j'annule, je voudrais qu'il arrête la macro et non qu'il passe à la suivant comme il le fait actuellement.

    Merci d'avance pour votre aide

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Un simple test permet de répondre à la question.
    C'est possible de te guider concrètement si tu as montré ton code utilisé.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 43
    Par défaut
    Salut mercatog,

    Merci de ton intervention mais je viens de me débloqué tout seul. Si ça peut servir à quelqu'un voici ma démarche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    récupération de la valeur tapé
    if var1="" then goto lastlign
    procédure de suppression de la personne
     
    lastlign:
    endsub
    Bonne journée à tous

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Tu as débloqué certes la situation mais d'une manière non structurée.
    Ton code aurait dû être écrit comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If var1 = "" Then
        'procédure de suppression de la personne
     
    End If
    End Sub
    Essaies de comprendre ce petit exemple pour supprimer avec l'utilisation de plusieurs tests et sans le goto

    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
    Sub Suppression()
    Dim Nom As String
    Dim c As Range
     
    Nom = InputBox("Nom à supprimer", "Suppression")
    If Nom <> "" Then
        'On va chercher la cellule c contenant le mot Nom sur la colonne A de Feuil1
        Set c = Worksheets("Feuil1").Range("A:A").Find(Nom, LookIn:=xlValues, lookat:=xlWhole)
        If Not c Is Nothing Then
            If MsgBox("Confirmez la suppression de " & Nom & " trouvé à la ligne " & c.Row, vbOKCancel + vbDefaultButton2) = vbOK Then
                c.EntireRow.Delete
            Else
                MsgBox "Suppression de " & Nom & " annulée"
            End If
            Set c = Nothing
        Else
            MsgBox "Nom " & Nom & " à supprimer introuvable"
        End If
    Else
        MsgBox "Action annulée par l'utilisateur ou nom choisi vide"
    End If
    End Sub

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 43
    Par défaut
    ok merci de ton aide. Je comprends la méthode et je vais retraviller mon code en me basant sur le tiens.

    Bonne journée à toi

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

Discussions similaires

  1. Action sur un bouton
    Par brasco06 dans le forum Composants
    Réponses: 1
    Dernier message: 19/11/2005, 20h15
  2. [debutant] action sur un bouton
    Par EssaiEncore dans le forum ASP
    Réponses: 22
    Dernier message: 18/02/2005, 14h02
  3. action d'un bouton
    Par Homer dans le forum ASP
    Réponses: 15
    Dernier message: 04/02/2005, 18h26
  4. [FLASH MX PRO] Action répétée sur bouton
    Par dens63 dans le forum Flash
    Réponses: 4
    Dernier message: 15/04/2004, 14h16
  5. [Flash MX] Action sur un bouton
    Par WriteLN dans le forum Flash
    Réponses: 9
    Dernier message: 20/10/2003, 14h01

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