Permettre l'action d'un bouton si

  • Initiateur de la discussion Initiateur de la discussion degap05
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

degap05

XLDnaute Impliqué
Bonjour,

Par un bouton situé sur une de mes feuilles, je vide certaines cellules et appelle un userform:

Private Sub CommandButton4_Click()
Feuil8.Unprotect
Range("B7:B10").ClearContents
Range("B12:B15").ClearContents
Feuil8.Protect
DispenséPar.Show
End Sub

Quel serait le code à ajouter pour que cette action ne soit possible que si B4,B5,B6 ne sont pas vides ? Avec un message "Veuillez renseigner les cellules B4,B5 et B6".

Merci de votre aide.
 
Re : Permettre l'action d'un bouton si

Effectivement, j'étais avec cet exemple.
Mais je n'arrive pas à adapter le code qui pourrait ressembler à:

Private Sub CommandButton4_Click()
Feuil8.Unprotect

If Sheets("Feuil8").Range("B4:B6") = "" Then
Else
MsgBox "vous devez......"
End If

Range("B7:B10").ClearContents
Range("B12:B15").ClearContents
Feuil8.Protect
DispenséPar.Show
End Sub

Mais j'ai le message "L'indice n'appartient pas à la sélection"

A+
 
Re : Permettre l'action d'un bouton si

Bonjour...

A dire vrai et malgré tous les essais que j'ai pu faire je ne comprends pas pourquoi ça ne fonctionnait pas mais bon...j'ai modifié la macro et maintenant ça fonctionne correctement...

Sub CommandButton4_Click()
Feuil8.Unprotect

Sheets("Feuil8").Select

If Range("B4") = "" And Range("B5") = "" And Range("B6") = "" Then
Range("B7:B10").ClearContents
Range("B12:B15").ClearContents
Feuil8.Protect
DispenséPar.Show

Else
MsgBox "vous devez......"
End If

End Sub
 
Re : Permettre l'action d'un bouton si

Bonsoir


Une autre façon pour effacer les cellules B7;B10;B12;B15

(il faut changer le nom de la feuille)

Code:
Sub macrotest()
Dim vide As Byte
vide = _
Application.WorksheetFunction.CountBlank(Sheets(1).Range("B4:B6"))
Range("B7:B10,B12:B15") = _
IIf(vide = 3, vbNullString, Range("B7:B10,B12:B15").Value)
end sub
 
Re : Permettre l'action d'un bouton si

Bonjour, merci EricD01 et vbacrumble,

En utilisant vos deux propositions j'ai adapté la macro à mon fichier:

Private Sub CommandButton4_Click()
Feuil8.Unprotect
If Range("B4,B5,B6") = "" Then
MsgBox "Le patient n'est pas identifié, veuillez revenir vers l'accueil "
Else
Range("B7:B10,B12:B15").ClearContents
DispenséPar.Show
End If
Feuil8.Protect
End Sub

Cela fonctionne.

A+
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
11
Affichages
930
Réponses
5
Affichages
812
S
Réponses
0
Affichages
776
Slakhdine
S
M
Réponses
11
Affichages
2 K
Melidan2006
M
T
Réponses
1
Affichages
1 K
titous68
T
J
Réponses
11
Affichages
2 K
Jean.delanou
J
S
Réponses
3
Affichages
646
Simonbb
S
Réponses
9
Affichages
3 K
S
Réponses
1
Affichages
1 K
P
Réponses
2
Affichages
1 K
pompier83
P
L
Réponses
1
Affichages
624
L
M
Réponses
0
Affichages
1 K
mathidel13870
M
Retour