Validation macro

Résolu/Fermé
JL00700 Messages postés 90 Date d'inscription lundi 4 juin 2012 Statut Membre Dernière intervention 1 novembre 2019 - 6 oct. 2014 à 14:55
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 - 6 oct. 2014 à 18:03
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.

A voir également:

2 réponses

Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
6 oct. 2014 à 15:38
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
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
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
Modifié par eriiic le 6/10/2014 à 18:01
Bonjour,

tu as bien mis :
If Reponse = vbOK Then ?
Pour le reste je laisse gyrus continuer.
eric
0
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
6 oct. 2014 à 18:03
De mon coté pas de problème ...
Dans l'exemple joint, la copie est réalisée dans la feuille active.

https://www.cjoint.com/?DJgsfffN9k1

A+
0