Bonjour,
Je suis complètement novice en vba et j’ai un petit code à écrire :
Voila, j’ai deux cases une me sert pour mettre la date avec un UserForm, et la seconde case me sert à écrire un nom qui renommera automatiquement l’onglet.
Mon problème est le suivant :
Lorsque je veux mettre la date j’ai une « erreur d’exécution ‘13’ : Incompatibilité de Type »
Voici mon code
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$C$5:$E$5" Then
UserForm1.Show
Range("C7").Select
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$7" And Target.Value <> 0 Then ActiveSheet.Name = Target.Value
End Sub
Et voici le code du UserForm
Private Sub Calendar1_Click()
Selection.Value = Calendar1.Value
End Sub
Private Sub CommandButton1_Click()
If Not IsNull(Calendar1.Value) Then Selection.Value = Calendar1.Value
UserForm1.Hide
End Sub
Private Sub CommandButton2_Click()
Selection.Value = res
UserForm1.Hide
End Sub
Private Sub UserForm_Activate()
UserForm1.Left = (Selection.Offset(0, 1).Left - 40) 'pour positionner à gauche de la colonne
UserForm1.Top = (Selection.Offset(0, 1).Top + 115)
If IsDate(Selection.Value) Then Calendar1.Value = CDate(Selection.Value)
Me.[Calendar1] = Date
res = Selection.Value
End Sub
Merci de votre aide, je vous joint mon classeur excel en fichier joint.
Je suis complètement novice en vba et j’ai un petit code à écrire :
Voila, j’ai deux cases une me sert pour mettre la date avec un UserForm, et la seconde case me sert à écrire un nom qui renommera automatiquement l’onglet.
Mon problème est le suivant :
Lorsque je veux mettre la date j’ai une « erreur d’exécution ‘13’ : Incompatibilité de Type »
Voici mon code
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$C$5:$E$5" Then
UserForm1.Show
Range("C7").Select
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$7" And Target.Value <> 0 Then ActiveSheet.Name = Target.Value
End Sub
Et voici le code du UserForm
Private Sub Calendar1_Click()
Selection.Value = Calendar1.Value
End Sub
Private Sub CommandButton1_Click()
If Not IsNull(Calendar1.Value) Then Selection.Value = Calendar1.Value
UserForm1.Hide
End Sub
Private Sub CommandButton2_Click()
Selection.Value = res
UserForm1.Hide
End Sub
Private Sub UserForm_Activate()
UserForm1.Left = (Selection.Offset(0, 1).Left - 40) 'pour positionner à gauche de la colonne
UserForm1.Top = (Selection.Offset(0, 1).Top + 115)
If IsDate(Selection.Value) Then Calendar1.Value = CDate(Selection.Value)
Me.[Calendar1] = Date
res = Selection.Value
End Sub
Merci de votre aide, je vous joint mon classeur excel en fichier joint.