K
kryssy
Guest
Salut, voici mon problème :
Je souhaite créer un code qui :
- si une cellule se trouve dans la plage a7 à a1500 une fois qu'elle est rempli, la cellule d'à côté renvoie le chiffre représentant le mois (de 1 à 12)
j'ai créer le code suivant :
Code
Private Sub worksheet_change(ByVal Target As Range)
Dim cel As Range, rg As Range, iset As Range
Set cel = Cells(ActiveCell.Row, ActiveCell.Column)
Set rg = Range('A7:A1500')
Set isect = Application.Intersect(cel, rg)
If Not isect Is Nothing Then
'si la cellule appartient à DateBoues'
If ActiveCell.Value = '' Then 'si elle est vide faire
ActiveCell.Offset(0, 1).Range('A1').Select
Selection.ClearContents 'effacer la formule
Else
'et si elle n'est pas vide faire
ActiveCell.Offset(0, 1).Range('A1').Select 'activer la cellule d'a coté
Selection.Formula = '=MONTH(RC[-1])' 'y mettre la formule
End If
End If
End Sub
Mon problème est que quand on efface les données ça fonctionne bien : la cellule de droite s'efface également,
mais quand j'ajoute une donnée il me fait le calcul dans la cellule ligne en deuusous colonne à droite
Merci pour vos réponses
Je souhaite créer un code qui :
- si une cellule se trouve dans la plage a7 à a1500 une fois qu'elle est rempli, la cellule d'à côté renvoie le chiffre représentant le mois (de 1 à 12)
j'ai créer le code suivant :
Code
Private Sub worksheet_change(ByVal Target As Range)
Dim cel As Range, rg As Range, iset As Range
Set cel = Cells(ActiveCell.Row, ActiveCell.Column)
Set rg = Range('A7:A1500')
Set isect = Application.Intersect(cel, rg)
If Not isect Is Nothing Then
'si la cellule appartient à DateBoues'
If ActiveCell.Value = '' Then 'si elle est vide faire
ActiveCell.Offset(0, 1).Range('A1').Select
Selection.ClearContents 'effacer la formule
Else
'et si elle n'est pas vide faire
ActiveCell.Offset(0, 1).Range('A1').Select 'activer la cellule d'a coté
Selection.Formula = '=MONTH(RC[-1])' 'y mettre la formule
End If
End If
End Sub
Mon problème est que quand on efface les données ça fonctionne bien : la cellule de droite s'efface également,
mais quand j'ajoute une donnée il me fait le calcul dans la cellule ligne en deuusous colonne à droite
Merci pour vos réponses