Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Répéter un code VBA à toutes les feuilles

1 réponse
Avatar
ninanova
Bonjour,

J'ai crée un fichier de suivi. J'ai crée un code VBA Calendrier pour une plus simple utilisation du fichier. Cependant, je n'arrive pas à répeter le code pour toutes les feuilles. Je ne sais pas non plus où il faudrait le mettre (module, classe, etc).

J'ai déjà essayé d'utiliser les codes trouvés sur le forum mais je n'y arrive toujours pas. J'ai 52 feuilles à modifier, toute votre aide sera précieuse.

Merci d'avance pour votre aide.

FYI

Private Sub Calendar1_Click()
ActiveCell.Value = Calendar1.Value
Calendar1.Visible = False
End Sub

Private Sub Calendar2_Click()
ActiveCell.Value = Calendar2.Value
Calendar2.Visible = False
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Column = 6 And Target.Row >= 7 And Target.Row <= 107 Then
Calendar1.Visible = True
Calendar1.Top = ActiveCell.Top
Calendar1.Left = ActiveCell.Left + ActiveCell.Width
Else
Calendar1.Visible = False
End If

If Target.Column = 7 And Target.Row >= 7 And Target.Row <= 107 Then
Calendar2.Visible = True
Calendar2.Top = ActiveCell.Top
Calendar2.Left = ActiveCell.Left + ActiveCell.Width
Else
Calendar2.Visible = False
End If

End Sub

1 réponse

Avatar
kobaya
ninanova a écrit le 23/01/2012 à 16h40 :
Bonjour,

J'ai crée un fichier de suivi. J'ai crée un code VBA Calendrier
pour une plus simple utilisation du fichier. Cependant, je n'arrive pas
à répeter le code pour toutes les feuilles. Je ne sais pas non
plus où il faudrait le mettre (module, classe, etc).

J'ai déjà essayé d'utiliser les codes trouvés sur
le forum mais je n'y arrive toujours pas. J'ai 52 feuilles à modifier,
toute votre aide sera précieuse.

Merci d'avance pour votre aide.

FYI

Private Sub Calendar1_Click()
ActiveCell.Value = Calendar1.Value
Calendar1.Visible = False
End Sub

Private Sub Calendar2_Click()
ActiveCell.Value = Calendar2.Value
Calendar2.Visible = False
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Column = 6 And Target.Row >= 7 And Target.Row <= 107 Then
Calendar1.Visible = True
Calendar1.Top = ActiveCell.Top
Calendar1.Left = ActiveCell.Left + ActiveCell.Width
Else
Calendar1.Visible = False
End If

If Target.Column = 7 And Target.Row >= 7 And Target.Row <= 107 Then
Calendar2.Visible = True
Calendar2.Top = ActiveCell.Top
Calendar2.Left = ActiveCell.Left + ActiveCell.Width
Else
Calendar2.Visible = False
End If

End Sub


Bonjour ninanova,

Je te propose une solution qui a l'air de fonctionner. Pour cela, il faut télécharger mon exemple sur RapidShare, avec ce lien : https://rapidshare.com/files/1308975639/Calendrier.xls.

Cdlt,
Kobaya.