MSGbox et réinitialisation

Zlopeck

XLDnaute Junior
Bonjour à toutes et à tous

Je suis novice en VB mais grace à ce forum je fais de formidables découvertes.
Depuis quelques jours je cherche au fil des discutions des éléments qui peuvent m'aider dans la création d'un fichier. J'ai trouvé de nombreux codes que j'ai adaptés ( plus ou moins bien sans doute) mais je bute sur un problème que je vais tenter d'expliquer : Lorsque dans la cellule D17 j'inscris une valeur supérieure à 12, une msgbox s'affiche pour donner les instructions à suivre dans ce cas là mais cette fonction doit être modifiée pour afficher un message si le contenu de la cellule commence par 50, une msgbox différente doit s'ouvrir si le contenu de la cellule commence par 72 et enfin un message différent doit s'afficher si le début du contenu est 08.
Je sais comment procéder pour selectionner cette partie de cellule avec GAUCHE(D17;2) mais je n'arrive pas à l'adapter en VBA.
De plus depuis que j'ai installé cette fonction, un nouveau problème est apparu : Mon fichier comporte un bouton qui me permet d'effacer les données inscrites dans certaines cellules mais maintenant lorsque cette macro efface les valeurs qui sont dans les cellules fusionnées et seulement dans celles-ci, la msgbox s'ouvre.

J'ai eu beau chercher sur le forum je n'ai pas trouvé ce que je cherchais alors je fais appelle à vous qui connaissez Excel et ses immenses possibilités.
Je vous remercie par avance pour l'aide que vous pourrez m'apporter.

Et comme un petit dessin vaut mieux qu'un long discours, je joins une partie du fichier à problèmes.
 

Pièces jointes

  • Mgsbox et reini.xls
    37 KB · Affichages: 45

Zlopeck

XLDnaute Junior
Re : MSGbox et réinitialisation

Bonjour bhbh,

Merci de t'interresser à mon problème.
L'info que je rentre dans cette cellule est en format texte et s'affiche 08 et non pas 8 comme en format nombre.
Je précise que je suis sous Excel 2007 mais je ne pense pas que cette version change quoi que ce soit pas rapport aux autres en ce qui concerne les macros.
 

Cousinhub

XLDnaute Barbatruc
Re : MSGbox et réinitialisation

Re-,
essaie avec ces codes à insérer dans l'évènement de feuille :

Private Sub CommandButton1_Click()
Range("D11,D15,D19").ClearContents
Range("D13").MergeArea.ClearContents
Range("D17").MergeArea.ClearContents
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count = 1 And Not Intersect(Range("D17"), Target) Is Nothing Then
On Error GoTo gest_err
If CDbl(Target) > 12 Then
Select Case CDbl(Left(Target, 2))
Case 8
MsgBox "commence par 08"
Case 50
MsgBox "commence par 50"
Case 72
MsgBox "commence par 72"
Case Else
MsgBox "commence autrement"
End Select: Exit Sub
End If
gest_err: MsgBox "La valeur entrée n'est pas un nombre"
End If
End Sub
 

Discussions similaires