Validation macro

Résolu
JL00700 Messages postés 90 Date d'inscription   Statut Membre Dernière intervention   -  
Gyrus Messages postés 3360 Statut Membre -
Bonjour,

Sur Excel 2013 j'ai créé un bouton auquel j'ai associé la macro suivante :
Sub Données_Fixes()
'
' Données_Fixes Macro
' Importer les données fixes
'

'
Sheets("CALQUE").Select
Range("A4:H100").Select
Selection.Copy
Sheets("Novembre").Select
Range("A4").Select
ActiveSheet.Paste
End Sub

Tout fonctionne normalement mais si l'utilisateur clique malencontreusement sur le bouton, il n'y a aucune sécurité et je vous passe les conséquences surtout si il le fait plusieurs fois !

Afin d'éviter cela, je souhaiterais intégrer une fonction de validation à mon bouton du genre "Souhaitez-vous importer des données ?"
Si OUI, la macro s'exécute normalement
Si NON, interruption de la commande.

Ceci est-il réalisable ?
Si oui comment procéder.

Je reste à votre entière disposition si nécessaire et vous remercie par avance de votre attention.
Cordialement.

2 réponses

  1. Gyrus Messages postés 3360 Statut Membre 526
     
    Bonjour,

    Sub Données_Fixes()
    Dim Msg As String, Style As String, Titre As String
    Dim Reponse As Integer
    Msg = "Veuillez confirmer que vous souhaitez copier les données" & Chr(10) & "de la feuille CALQUE vers la feuille Novembre."
    Style = vbOKCancel + vbCritical + vbDefaultButton2
    Titre = "Confirmation du traitement"
    Reponse = MsgBox(Msg, Style, Titre)
    If Reponse = vbOK Then
    Sheets("CALQUE").Range("A4:H100").Copy
    ActiveSheet.Paste Sheets("Novembre").Range("A4")
    Application.CutCopyMode = False
    MsgBox "Copie réalisée."
    Else
    MsgBox "Traitement annulé."
    End If
    End Sub

    A+
    0
    1. JL00700
       
      Bonjour Gyrus,
      Merci de votre réponse que je viens de mettre en oeuvre.
      Le message s'affiche bien, je confirme par OK et à ce moment j'ai le message "Traitement annulé".
      Ok devrait pourtant finaliser l'import des données.
      D'autre part, j'ai omis de préciser que ma macro s'appliquait à plusieurs feuilles (Janvier, Février... Décembre). Comment procéder pour que l'import se fasse dans l'onglet où est lancé la macro ?
      Merci de votre attention.
      Cordialement
      0
    2. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      Bonjour,

      tu as bien mis :
      If Reponse = vbOK Then ?
      Pour le reste je laisse gyrus continuer.
      eric
      0