comment copier un Private Sub Worksheet_Change(ByVal Target As Range)

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 !

marien loembet

XLDnaute Nouveau
Bonsoir,
Jaimerai faire la copie de ce private sub mais je n'y connais pas tro en macro excel. je joint mon fichier excel. Si vous aviez une idee soyez la bienvenue.

Voici le macro:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$13" Then Exit Sub
If Target.Value = "YES" Then
Rows("21:24").EntireRow.Hidden = True
Rows("14:20").EntireRow.Hidden = False
Else
Rows("14:20").EntireRow.Hidden = True 'inverse
Rows("21:24").EntireRow.Hidden = False
End If
End Sub
 

Pièces jointes

Re : comment copier un Private Sub Worksheet_Change(ByVal Target As Range)

Salut marien loembet,
Bienvenue sur le forum. Tout d'abord, pour répondre à votre question, voici quelques petites choses que vous devez savoir.

Premièrement, il faut être en mesure de copier la macro au bon endroit. Comme la macro que vous présentez ici est une "Private Sub", elle doit être lancée à partir du code d'un onglet. Pour ce faire, faite ALT+F11. Cela ouvrira VBA. Ensuite, double-cliquez sur Sheet1(Sheet1). Vous verrez une page blanche s'afficher. C'est là que vous devez copier votre macro.

Deuxièment, vous devez savoir qu'il s'agit d'une macro événementielle. Cela signifie que ce type de macro se déclenche automatiquement dès qu'il y a une modification quelconque dans l'onglet où se trouve le code, c'est-à-dire l'onglet Sheet1 dans votre cas.

Voici la macro commentée pour que vous puissiez comprendre les actions qu'elle accomplie.

VB:
Private Sub Worksheet_Change(ByVal Target As Range)

'Si la cellule modifiée est différente de A13, alors aucune action n'est
'posée et on sort de la macro directement. On souhaite donc que l'action
'se déclenche uniquement quand on modifie A13.
If Target.Address <> "$A$13" Then Exit Sub

If Target.Value = "YES" Then 'Si la valeur de A13 est "YES" alors
    Rows("21:24").EntireRow.Hidden = True 'On masque les lignes 21 à 24
    Rows("14:20").EntireRow.Hidden = False 'On démasque les lignes 14 à 20
Else 'Sinon, c'est l'inverse
    Rows("14:20").EntireRow.Hidden = True 'On masque les lignes 14 à 20
    Rows("21:24").EntireRow.Hidden = False 'On démasque les lignes 21 à 24
End If

End Sub

Voila, s'il y a quoi que ce soit d'autres, surtout ne vous genez pas.

Cordialement,

Étienne
 
Re : comment copier un Private Sub Worksheet_Change(ByVal Target As Range)

salut Etienne,
Vrement merci de ta reponse. a vrai dire le fichier que j t'avais join n'est pas le l'original car je travail sur un projet et j'ai cree un exemple pour implementer le macro. seulement a la fin je devais adapter avec mon projet. mais en somme je prefere te faire parvenir l'original et tu essai de voir avec ce macro .
merci
 
- 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
9
Affichages
405
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Retour