confirmer macro

phil69

XLDnaute Occasionnel
bonjour le forum

j'ai une macro de mise à jour d'un fichier et j'aimerai que quand l'utilisateur lance la macro el est un message qui lui permet de confirmé la mise à jour ou 'd'annuler celle si

merci

phil69
 

RENAUDER

Nous a quitté
Repose en paix
Re : confirmer macro

Bonjour,
Il te faut utiliser le MsgBox
Code:
Dim Msg, Style, Title, MyString
Msg = "Souhaitez-vous continuer?"    ' Définit le message.
Style = vbYesNo + vbCritical    ' Définit les boutons.
Title = "Démonstration de MsgBox "    ' Définit le titre.
Response = MsgBox(Msg, Style, Title)
If Response = vbYes Then    ' L'utilisateur a choisi Oui.
    MyString = "Oui"    ' Effectue une action.
Else    ' L'utilisateur a choisi Non.
    MyString = "Non"    ' Effectue une action.
End If
 

phil69

XLDnaute Occasionnel
Re : confirmer macro

re

merci pour la rapidité,mais j'ai essayé de matre ton code en debut de ma macro et sa ma donne une erreur de compilation de plus je suis nul en VBA
ma macro
Range("T31:EX31").Select
Selection.Copy
Range("T32").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
With Sheets("source")
lig_nom = .Columns("A").Find([A32].Value, LookIn:=xlValues, lookat:=xlWhole).Row
If lig_nom > 0 Then Range("t32:ez32").Copy .Range("t" & lig_nom & ":ez" & lig_nom)
Range("B20:E20,G20:M20").Select
Range("G20").Activate
Selection.ClearContents
Range("K1").Select

End With
End Sub

merci

phil69
 

Pierrot93

XLDnaute Barbatruc
Re : confirmer macro

Re,

comprends pas, chez moi le code fourni fonctionne, intégré ci dessous dans ta macro, à noter que tu n'as pas mis le début...

Code:
Sub test()
Dim c As Range
If MsgBox("Confirmez vous le lancement de la macro ?", vbOKCancel) = vbCancel Then _
    MsgBox "macro annulé !!!": Exit Sub
Range("T31:EX31").Copy
Range("T32").PasteSpecial Paste:=xlPasteValues
With Feuil2 ' Sheets("source")
    Set c = .Columns("A").Find([A32].Value, LookIn:=xlValues, lookat:=xlWhole)
    If Not c Is Nothing Then Range("t32:ez32").Copy .Range("t" & c.Row & ":ez" & c.Row)
End With
Range("B20:E20,G20:M20").ClearContents
End Sub

@+
 

Discussions similaires

Statistiques des forums

Discussions
312 668
Messages
2 090 739
Membres
104 643
dernier inscrit
adriano22