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 :

Message demandant si action effectuée, puis reprise du code [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Homme Profil pro
    Retraité 72 ans
    Inscrit en
    Mai 2011
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité 72 ans

    Informations forums :
    Inscription : Mai 2011
    Messages : 244
    Par défaut Message demandant si action effectuée, puis reprise du code
    Bonjour à tous,
    Ma demande se trouve dans le code :
    En vous remerciant.

    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
    32
    33
    34
    35
    36
    37
    Sub Filtrage()
        Sheets("Base").Select
            Columns("I:L").AutoFilter
            Selection.AutoFilter Field:=1, Criteria1:="<>-", Operator:=xlAnd     'masquer lignes comportant - (un tiret)
     
              ' Ici, je souhaiterai avoir un message invitant à sélectionner les adresses mail.
              ' Puis une fois la sélection effectuée, poursuite de la macro.
     
            Columns("J:J").AutoFilter
            Selection.AutoFilter Field:=1, Criteria1:="X"
    'copier coller des adresses mail Cc
        Sheets("MAIL").Select
            If [D2] <> "" Then
            [MailCc].ClearContents
            If [E2] <> "" Then
            [MailCc].ClearContents
        End If
        End If
        [IdentiteMail].Copy: [CollerAdresseMailCc].PasteSpecial xlValues
            With Selection.Font
                .Name = "Times New Roman"
                .Size = 10
            End With
                    Selection.AutoFilter
        'sup filtre
        Columns("L:L").AutoFilter
        Columns("L:L").AutoFilter Field:=1, Criteria1:="X"
        'copier coller des adresses mail Cci
        If [D2] <> "" Then [CollerAdresseMailCci] = ClearContents
        [IdentiteMail].Copy: [CollerAdresseMailCci].PasteSpecial xlValues
            With Selection.Font
                .Name = "Times New Roman"
                .Size = 10
            End With
        'sup filtre
        Selection.AutoFilter
    End Sub

  2. #2
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    salut
    vas dans vbe tape F1 et dans l'aide tape "response" tu aura ce que tu cherche
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  3. #3
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Tu peux utiliser l'inputbox de l'application pour sélectionner une plage :
    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
     
    Sub Test()
     
        Dim Plage As Range
     
        On Error Resume Next
        Set Plage = Application.InputBox("Sélectionner la plage !", "E.mails.", , , , , , 8)
     
        If Err.Number = 0 Then
            MsgBox Plage.Address(0, 0)
        Else
            MsgBox "Sélection annulée !"
        End If
     
        On Error GoTo 0
     
    End Sub

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    Ici, je souhaiterai avoir un message invitant à sélectionner les adresses mail.
    Puis une fois la sélection effectuée, poursuite de la macro.
    Il me semble qu'il serait alors bien plus pratique d'afficher une listbox "multiselect" liée à la plage de cellules contenant les adresses à choisir.

  5. #5
    Membre éclairé
    Homme Profil pro
    Retraité 72 ans
    Inscrit en
    Mai 2011
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité 72 ans

    Informations forums :
    Inscription : Mai 2011
    Messages : 244
    Par défaut
    Bonjour patricktoulon, Theze, unparia,
    Je vous remercie de vous intéresser à ma problématique,
    patricktoulon - response me donne : aucun résultat trouvé.
    Theze - je ne comprends pas car la sélection peut être une plage ou plusieurs cellules successives ou non dans la plage.
    unparia - listbox "multiselect" : je ne sais pas faire.

  6. #6
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    ou a tu cherché
    Nom : demo2.gif
Affichages : 204
Taille : 224,2 Ko
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  7. #7
    Membre éclairé
    Homme Profil pro
    Retraité 72 ans
    Inscrit en
    Mai 2011
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité 72 ans

    Informations forums :
    Inscription : Mai 2011
    Messages : 244
    Par défaut
    Re,
    Je travaille avec Excel 2003
    https://www.cjoint.com/c/HBujjw0w5qO

  8. #8
    Membre éclairé
    Homme Profil pro
    Retraité 72 ans
    Inscrit en
    Mai 2011
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité 72 ans

    Informations forums :
    Inscription : Mai 2011
    Messages : 244
    Par défaut
    Re,
    Je joint un classeur test, comme il dépasse le poids autorisé, je ne peux l'insérer.

    https://www.cjoint.com/c/HBumadXXcpO

  9. #9
    Membre éclairé
    Homme Profil pro
    Retraité 72 ans
    Inscrit en
    Mai 2011
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité 72 ans

    Informations forums :
    Inscription : Mai 2011
    Messages : 244
    Par défaut
    Re,
    Merci à vous tous,
    En fait, j'ai résolu le problème en modifiant la macro et en plaçant un MsgBox

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub Filtrage1()  ' Filtrage des emails       OKOKOKOKOK
        Sheets("MAIL").Select
        If ("D2") <> "" Then
            Range("D2", Range("D200").End(xlUp)).ClearContents
        End If
            If ("C2") <> " " Then
                Range("E2", Range("E200").End(xlUp)).ClearContents
            End If
        Sheets("Base").Select
        Columns("I:L").AutoFilter
        Selection.AutoFilter Field:=1, Criteria1:="<>"
        MsgBox " Veuillez sélectionner les destinataires de votre mail", vbOKOnly + vbInformation, "Destinataires du mail"
    End Sub
    Puis j’appelle la seconde macro via un bouton

    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
    Sub Filtrage2
    Columns("J:J").AutoFilter
    Selection.AutoFilter Field:=1, Criteria1:="X"
    'copier coller des adresses mail Cc
    Sheets("MAIL").Select
    If [D2] <> "" Then
    [MailCc].ClearContents
    If [E2] <> "" Then
    [MailCc].ClearContents
    End If
    End If
    [IdentiteMail].Copy: [CollerAdresseMailCc].PasteSpecial xlValues
    With Selection.Font
    .Name = "Times New Roman"
    .Size = 10
    End With
    Selection.AutoFilter
    'sup filtre
    Columns("L:L").AutoFilter
    Columns("L:L").AutoFilter Field:=1, Criteria1:="X"
    'copier coller des adresses mail Cci
    If [D2] <> "" Then [CollerAdresseMailCci] = ClearContents
    [IdentiteMail].Copy: [CollerAdresseMailCci].PasteSpecial xlValues
    With Selection.Font
    .Name = "Times New Roman"
    .Size = 10
    End With
    'sup filtre
    Selection.AutoFilter
    End Sub

  10. #10
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    salut
    tu n'a pas chercher dans aide sinon tu aurais trouvé
    avec le msgbox yesno tu peux décider de continuer OU!! pas pas besoins d'un 2d bouton
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  11. #11
    Membre éclairé
    Homme Profil pro
    Retraité 72 ans
    Inscrit en
    Mai 2011
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité 72 ans

    Informations forums :
    Inscription : Mai 2011
    Messages : 244
    Par défaut
    Re,
    Si j'ai regardé, mais je ne vois pas comment si je clique sur Non (le msgbox disparaît, je reviens sur la feuille Xl - OK je fais les sélections.
    Mais comment je reviens sur le msgbox de nouveau pour cliquer sur Oui

  12. #12
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    c'est simple le reste du code apres le msgbox tu le met dans vbyes ou vbno
    ou tu fait un exit sub dans le if else

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    'bblavbla bla du code
    'encore du code
    'encore du code
    '.......
    Response = MsgBox("voulez vou continuer", vbyesno, "testmessage interactif")
    if response=vbyes then
    'ici le reste de ton code
    else
    msgbox operation stopée
    end if
    ou celle ci conviendrait peu etre mieux ety serait plus facile a intégrer a ce que tu a deja
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    'bblavbla bla du code
    'encore du code
    'encore du code
    '.......
    Response = MsgBox("voulez vou continuer", vbyesno, "testmessage interactif")
    if response=vbno then
    msgbox operation stopée:exit sub 
    end if 
    'reste du code ici
    pas compliqué
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 19/04/2007, 12h13
  2. Message "nosignal" sur l'ecran puis rien du tout
    Par JavaAcro dans le forum Périphériques
    Réponses: 12
    Dernier message: 19/12/2006, 14h53
  3. [Dates] Action à effectuer quand date1 est > a Date2
    Par bilou95 dans le forum Langage
    Réponses: 2
    Dernier message: 14/12/2006, 09h31

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