Validation macro [Résolu/Fermé]

Signaler
Messages postés
90
Date d'inscription
lundi 4 juin 2012
Statut
Membre
Dernière intervention
1 novembre 2019
-
Gyrus
Messages postés
3341
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
-
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

Messages postés
3341
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
455
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+
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
eriiic
Messages postés
23232
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
27 janvier 2020
5 880
Bonjour,

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

http://cjoint.com/?DJgsfffN9k1

A+