OVH Cloud OVH Cloud

Macro Excel 2016

3 réponses
Avatar
amine18
Bonjour,

Je cherche à faire en sorte que le bouton de ma macro soit invisible si les conditions de ma macro ne sont pas vérifiées.

Jusque là ça a été un échec.

Voici le code que j'ai essayé d'implémenter:

Sub Copierplage()
If Sheets("Recap").Range("A1") = "69" Then
Sheets("Feuil2").Range("A2:D10").Copy
Sheets("Recap").Range("A2:D10").PasteSpecial
Application.CutCopyMode = False
Else
ActiveSheet.Shapes("Bouton 5") = False
End If
End Sub
Pouvez-vous m'aider?

Bien amicalement,
Amine

3 réponses

Avatar
Michd
Bonjour,
A ) Ta question suppose que tu as un "bouton 5" dans chacune des feuilles de
calcul. Est-ce que la procédure s'applique seulement à un seul bouton dans
une feuille? Ta question n'est pas claire sur le sujet pour moi.
B ) Une fois le bouton masqué, comment faire pour l'afficher à nouveau? Tu
n'as pas défini une condition pour cela!
La procédure suivante doit être mise dans le ThisWorkbook du projetVBA du
classeur.
La procédure s'applique pour toutes les feuilles. Si la feuille ne contient
pas de bouton, une erreur est générée à cette ligne, au besoin, tu peux
ajouter au début de la procédure : ON Error Resume next
Sinon, tu dois préciser la nature de ton problème!
'---------------------------------------------------
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
With Worksheets("Recap")
.Range("A1").Calculate
If .Range("A1") = 69 Then
Application.EnableEvents = False
Sheets("Recap").Range("A2:D10") = Sheets("Feuil3").Range("A2:D10")
Application.EnableEvents = True
Else
ActiveSheet.Shapes("Bouton 5").Visible = False
End If
End With
End Sub
'---------------------------------------------------
MichD
Avatar
amine18
Le lundi 19 Mars 2018 à 17:09 par amine18 :
Bonjour,
Je cherche à faire en sorte que le bouton de ma macro soit invisible si
les conditions de ma macro ne sont pas vérifiées.
Jusque là ça a été un échec.
Voici le code que j'ai essayé d'implémenter:
Sub Copierplage()
If Sheets("Recap").Range("A1") = "69" Then
Sheets("Feuil2").Range("A2:D10").Copy
Sheets("Recap").Range("A2:D10").PasteSpecial
Application.CutCopyMode = False
Else
ActiveSheet.Shapes("Bouton 5") = False
End If
End Sub
Pouvez-vous m'aider?
Bien amicalement,
Amine
Effectivement, il n'y a qu'un seul bouton sur une seule feuille.
Merci pour l'info !
Amine
Avatar
Michd
Si tu n'as qu'un bouton sur une feuille,
Tu peux placer ce code dans le module de cette feuille :
'-------------------------------------------------
Private Sub Worksheet_Calculate()
With Worksheets("Recap")
.Range("A1").Calculate
If .Range("A1") = 69 Then
Application.EnableEvents = False
Sheets("Recap").Range("A2:D10") = Sheets("Feuil3").Range("A2:D10")
Application.EnableEvents = True
Else
ActiveSheet.Shapes("Bouton 5").Visible = False
End If
End With
End Sub
'-------------------------------------------------
MichD