|
|
|
|
Bonjour,
Je cherche à savoir si c'est possible de connaitre la cellule précédente, elle peut être de tout côté ou ailleur avec la souris.
Je doit revenir modifier la cellule que je viens de modifier pour la divisé par 2 et afffecté sa voisinne de droite de l'autre moitié. Je souhaite garder la cellule actuel comme active (d'où l'utilisation des Offset() ).
Voici le code que j'ai jusqu'à présent:
Private Sub Worksheet_Change(ByVal Target As Range)
If ActiveCell.Offset(-1, 0).Interior.ColorIndex = 34 Then
If ActiveCell.Offset(-1, 1) = Vide Then
valeur = Target
If valeur <> Vide Then
ActiveCell.Offset(-1, 0).Value = valeur / 2
ActiveCell.Offset(-1, 1).Value = valeur / 2
End If
End If
End If
End Sub
ActiveCell.Offset(-1, 0).Value
Configuration: Windows XP Internet Explorer 6.0 EXCEL 2000
Bonsoir,
|
Merci,
|
Bonsoir,
|
Bonjour,
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Interior.ColorIndex = 34 Then
If EstVide(Target.Offset(-1, 0)) Then
If ESTNUM(Target.Value) Then
Target.Value = Target.Value / 2
Target.Offset(-1, 0).Value = Target.Value
End If
End If
End If
End Sub
Mais EstVide et ESTNUM ne sont pas reconnue! Quel autre solution me proposez-vous? Merci beaucoup de votre aide, c'est très apprécier. Octet Plus |
Enfin, j'ai travaillé très fort et voilà ça fonctionne maintenant.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Valeur As Single
If Target.Interior.ColorIndex = 34 Then
If IsEmpty(Target.Offset(0, -1)) Then
If IsNumeric(Target.Value) Then
Valeur = Target.Value / 2
Target.Offset(0, -1).Value = Valeur
Target.Value = Valeur
End If
End If
End If
End Sub
La technique est que je change la cellule du gauche de la cellule modifié. Si je prenais la cellule de droite alors il bouclais et toute mes cellules de droite étaient diviser par 2, exemple Cellule A10 change, alors A11 = A10/2, puis A12=A11/2, puis A13=A12/2, etc. Alors que si je change à gauche il s'arrête dès qu'il trouve une valeur. Merci à tous. OctetPlus
|
Bonjour a tous ;
|
Bonjour
|