Répondre "oui" à une MsgBox Excel

Résolu
CarolineBouteloup Messages postés 24 Date d'inscription lundi 12 avril 2010 Statut Membre Dernière intervention 20 juillet 2011 - 17 mai 2010 à 10:49
CarolineBouteloup Messages postés 24 Date d'inscription lundi 12 avril 2010 Statut Membre Dernière intervention 20 juillet 2011 - 17 mai 2010 à 14:33
Bonjour,

J'ai besoin de répondre "oui" automatiquement (depuis ma macro) à une MsgBox Excel qui me demande de confirmer une manipulation.

En effet, dans ma macro j'ai besoin de modifier la validation des données d'une plage de cellules. Ces cellules doivent accepter toutes les données alors qu'auparavant certaines de ces cellules n'acceptaient que les données d'une liste. J'ai enregistré la macro suivante :

Range("K24:O2000").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _
:=xlBetween
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With

qui correspond à la manipulation : je sélectionne ma plage de cellules + clic sur "Données" + clic sur "Validation" + clic sur "Options" + je choisis "Tout".

Le problème est qu'à ce moment une fenêtre Excel s'ouvre en me demandant si je veux bel et bien sélectionner les cellules de ma plage qui n'avaient aucune contrainte sur les données, car parmi la plage de cellules sélectionnées, seules certaines ont cette contrainte mais je n'ai pas moyen de savoir lesquelles.

Je voudrais donc répondre "oui" de manière automatique sans bloquer la macro.

Il me semble que c'est possible avec une commande user-quelque-chose mais je me souviens plus laquelle.

Merci d'avance !

Caroline

3 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
17 mai 2010 à 12:50
Bonjour,
Il y a une solution supprimer les messages d'alerte

'supprime les messages d'alerte Application.DisplayAlerts = False
Range("K24:O2000").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _
:=xlBetween
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
'rétabli les messages d'alerte
Application.DisplayAlerts = True
@+
1
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
17 mai 2010 à 12:51
'supprime les messages d'alerte
 Application.DisplayAlerts = False 
Range("K24:O2000").Select 
With Selection.Validation 
.Delete 
.Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _ 
:=xlBetween 
.IgnoreBlank = True 
.InCellDropdown = True 
.InputTitle = "" 
.ErrorTitle = "" 
.InputMessage = "" 
.ErrorMessage = "" 
.ShowInput = True 
.ShowError = True 
End With 
'rétabli les messages d'alerte 
Application.DisplayAlerts = True 
0
CarolineBouteloup Messages postés 24 Date d'inscription lundi 12 avril 2010 Statut Membre Dernière intervention 20 juillet 2011
17 mai 2010 à 14:33
OK merci !

Caroline
0
Rejoignez-nous