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?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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
'---------------------------------------------------
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
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
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
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
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
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
'-------------------------------------------------
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