Fonction Else

Fonction Else - VB/VBA/VBS - Programmation

Marsh Posté le 17-12-2013 à 17:28:04    

Bonjour , j'ai ce code :  
 
Sub EFFACE_DONNEE()
 
retour = MsgBox(prompt:=" Etes vous sur de vouloir supprimé les données ?? ", Buttons:=vbYesNo + vbCritical, Title:="Attention" )
 
If vbYes Then
 
Range("b17:b38" ).ClearContents
Range("C17:C38" ).ClearContents
Range("D17:D38" ).ClearContents
Range("A17:A38" ).ClearContents
Range("E17:E38" ).ClearContents
Range("D11" ).MergeArea.ClearContents
 
else
 
 
 
End If
 
 
End Sub
 
 
 
J'aimerais que si je mes non ça n'effaces pas les cellules concerné j'ai essayé de mettre "Unload Me " mais cela ne fonctionne pas :/
 
Avez vous une solution ??  
 
Merci beaucoup :)

Reply

Marsh Posté le 17-12-2013 à 17:28:04   

Reply

Marsh Posté le 17-12-2013 à 23:21:24    

 
           Bonjour,
 
           commencer par éditer le message et enfin utiliser les balises de code comme préconisé dans les règles de ce forum ‼
           On pourra ainsi indiquer le n° de la ligne où c'est vraiment aware ! …
 
           Peut-être qu'en le relisant cela te sera si évident, car franchement,
           à quoi pourrait servir une variable pour une réponse et ne pas l'utiliser ensuite ? …  :sarcastic:  
 

Reply

Marsh Posté le 18-12-2013 à 21:38:21    

micka671 a écrit :

Bonjour , j'ai ce code :  
 

Code :
  1. Sub EFFACE_DONNEE()
  2. retour = MsgBox(prompt:=" Etes vous sur de vouloir supprimé les données ?? ", Buttons:=vbYesNo + vbCritical, Title:="Attention" )
  3. If vbYes Then
  4. Range("b17:b38" ).ClearContents
  5. Range("C17:C38" ).ClearContents
  6. Range("D17:D38" ).ClearContents
  7. Range("A17:A38" ).ClearContents
  8. Range("E17:E38" ).ClearContents
  9. Range("D11" ).MergeArea.ClearContents
  10. else
  11. End If
  12. End sub


 
 
 
 
J'aimerais que si je mes non ça n'effaces pas les cellules concerné j'ai essayé de mettre "Unload Me " mais cela ne fonctionne pas :/
 
Avez vous une solution ??  
 
Merci beaucoup :)


Reply

Marsh Posté le 18-12-2013 à 21:58:36    

La réponse est dans la ligne 3 et 5. ;D


---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
Reply

Marsh Posté le 18-12-2013 à 22:57:21    

Code :
  1. Sub EFFACE_DONNEE()
  2. retour = MsgBox(prompt:=" Etes-vous sûr de vouloir supprimer les données ?? ", Buttons:=vbYesNo + vbCritical, Title:="Attention" )
  3. If retour = vbYes Then
  4. Range("b17:b38" ).ClearContents
  5. Range("C17:C38" ).ClearContents
  6. Range("D17:D38" ).ClearContents
  7. Range("A17:A38" ).ClearContents
  8. Range("E17:E38" ).ClearContents
  9. Range("D11" ).MergeArea.ClearContents
  10. End If
  11. End Sub


 
vbyes est une 'constante' il faut la comparer avec ton 'retour'


---------------
il s'appel le ronge me doute
Reply

Marsh Posté le 18-12-2013 à 23:42:06    

 
           Rien qu'en consultant l'aide et l'exemple de  MsgBox  ! …
 

Reply

Marsh Posté le 19-12-2013 à 09:31:35    

Au moins, il vient avec du code, pas déconnant dès son premier message, ça mérite d'être encouragé.
 
Par contre, appel de fonction tel qu'il est fait ici, c'est déjà un copié collé 'adapté' vu les 'key:=' qui se baladent
L'autre truc, ce serait de faire un truc comme ça à la place des 5 lignes:

Code :
  1. Range("A17:E38" ).ClearContents

 
 
C'est vrai, on peut aussi indiquer que dans excel un click droit > définition sur le mot 'msgbox' l'emmènera directement sur la doc/aide de la fonction.


---------------
il s'appel le ronge me doute
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed