Excel : macro évènementielle
Résolu
alainjjb
Messages postés
821
Statut
Membre
-
alainjjb Messages postés 821 Statut Membre -
alainjjb Messages postés 821 Statut Membre -
Bonjour,
je viens de mettre dans mon classeur une macro événementielle permettant de passer le montant saisi en colonne "M" en négatif si la valeur de la colonne "F" est "Dépense". Tout fonctionne très bien lorsque la donnée saisie dans "M" est numérique. Dans le cas contraire la macro se plante. Pourriez-vous m'aider à insérer dans cette macro un test de numéricité de l'info saisie en "M" avec envoi d'un message si non numérique ?
Merci d'avance
Alain
La macro :
Private Sub Worksheet_Change(ByVal sel As Range)
Dim colm As Integer ' colonne montant
Dim colt As Integer ' colonne type
colm = Asc("M") - 64 ' colonne montant
colt = Asc("F") - 64 ' colonne type
If sel.Column = colm And Cells(sel.Row, colt) = "Dépense" Then
Application.EnableEvents = False
sel.Value = sel.Value * -1
Application.EnableEvents = True
End If
End Sub
je viens de mettre dans mon classeur une macro événementielle permettant de passer le montant saisi en colonne "M" en négatif si la valeur de la colonne "F" est "Dépense". Tout fonctionne très bien lorsque la donnée saisie dans "M" est numérique. Dans le cas contraire la macro se plante. Pourriez-vous m'aider à insérer dans cette macro un test de numéricité de l'info saisie en "M" avec envoi d'un message si non numérique ?
Merci d'avance
Alain
La macro :
Private Sub Worksheet_Change(ByVal sel As Range)
Dim colm As Integer ' colonne montant
Dim colt As Integer ' colonne type
colm = Asc("M") - 64 ' colonne montant
colt = Asc("F") - 64 ' colonne type
If sel.Column = colm And Cells(sel.Row, colt) = "Dépense" Then
Application.EnableEvents = False
sel.Value = sel.Value * -1
Application.EnableEvents = True
End If
End Sub
A voir également:
- Excel : macro évènementielle
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
- Excel trier par ordre croissant chiffre - Guide