Excel macro événementielle
Résolu/Fermé
alainjjb
Messages postés
785
Date d'inscription
jeudi 17 mai 2007
Statut
Membre
Dernière intervention
13 janvier 2025
-
30 juin 2008 à 09:48
johmayss - 22 oct. 2009 à 15:30
johmayss - 22 oct. 2009 à 15:30
A voir également:
- Excel macro événementielle
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Aller à la ligne excel - Guide
4 réponses
Ivan-hoe
Messages postés
433
Date d'inscription
dimanche 17 février 2008
Statut
Membre
Dernière intervention
17 octobre 2008
309
30 juin 2008 à 09:58
30 juin 2008 à 09:58
Bonjour Alain,
tu peux utiliser le test IsNumeric
Exemple :
tu peux utiliser le test IsNumeric
Exemple :
If Not IsNumeric(sel.Value) Then MsgBox "Message": sel.Select Else sel.Value = sel.Value * -1 End If
Ivan-hoe
Messages postés
433
Date d'inscription
dimanche 17 février 2008
Statut
Membre
Dernière intervention
17 octobre 2008
309
30 juin 2008 à 10:52
30 juin 2008 à 10:52
Pour rendre moins périlleuses les imbrications de If, de boucles, etc., utilise les retraits pour bien aligner les instructions de même niveau. Tu vois dans ton exemple ci-dessous que tout est correct.
I.
I.
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 If Not IsNumeric(sel.Value) Then MsgBox "Montant non numérique": sel.Select Else sel.Value = sel.Value * -1 End If Application.EnableEvents = True End If End Sub
alainjjb
Messages postés
785
Date d'inscription
jeudi 17 mai 2007
Statut
Membre
Dernière intervention
13 janvier 2025
110
30 juin 2008 à 11:04
30 juin 2008 à 11:04
Merci Ivan-hoe,
ça marche super mais Excel va me faire craquer. J'ai créer une barre d'outils personnalisée avec 3 boutons associés à 3 macros. Ca marche.
MAIS lorsque je crée un second classeur à partir du 1er les boutons sont toujours liés aux macros du 1er. Je n'en peux plus. Que faut-il faire pour que second classeur fonctionne indépendemment du 1er ?
Merci encore
PS. Je peux joindre le classeur si nécessaire
Alain
ça marche super mais Excel va me faire craquer. J'ai créer une barre d'outils personnalisée avec 3 boutons associés à 3 macros. Ca marche.
MAIS lorsque je crée un second classeur à partir du 1er les boutons sont toujours liés aux macros du 1er. Je n'en peux plus. Que faut-il faire pour que second classeur fonctionne indépendemment du 1er ?
Merci encore
PS. Je peux joindre le classeur si nécessaire
Alain
Ivan-hoe
Messages postés
433
Date d'inscription
dimanche 17 février 2008
Statut
Membre
Dernière intervention
17 octobre 2008
309
30 juin 2008 à 11:09
30 juin 2008 à 11:09
dans ton second classeur, essaie Edition/Liaisons/ modifier les liaisons (puis sélectionner le classeur en cours, afin que la liaison se fasse sur le classeur-même).
alainjjb
Messages postés
785
Date d'inscription
jeudi 17 mai 2007
Statut
Membre
Dernière intervention
13 janvier 2025
110
30 juin 2008 à 11:19
30 juin 2008 à 11:19
La fonction "liaison" de la liste "d'édition" n'est pas disponible. Je me sens dépérir à vue d'oeil. Je crois que ça y est. Excel m'a eu. Adieu à tous.
Je rigole car l'homme à des ressources. Avec votre aide je l'aurai.
Alain
Je rigole car l'homme à des ressources. Avec votre aide je l'aurai.
Alain
Ivan-hoe
Messages postés
433
Date d'inscription
dimanche 17 février 2008
Statut
Membre
Dernière intervention
17 octobre 2008
309
30 juin 2008 à 11:44
30 juin 2008 à 11:44
Désolé. Je te suggère de poster une nouvelle demande.
I.
I.
alainjjb
Messages postés
785
Date d'inscription
jeudi 17 mai 2007
Statut
Membre
Dernière intervention
13 janvier 2025
110
30 juin 2008 à 11:48
30 juin 2008 à 11:48
Merci quand même Ivan-hoe
... et probablement à bientôt
Alain
... et probablement à bientôt
Alain
johmayss
>
alainjjb
Messages postés
785
Date d'inscription
jeudi 17 mai 2007
Statut
Membre
Dernière intervention
13 janvier 2025
22 oct. 2009 à 15:30
22 oct. 2009 à 15:30
Bonjour,
j'ai pas comuoi sert le 64 ' dans la macro ci-dessu.
Je dois rendre un des chiffres négatifs lorsque dans une colonne on retrouve le texte 'Risk" et rien faire si on rencontre' Opportunity".
Pouvez vous m'aider?
Merci d'avance
j'ai pas comuoi sert le 64 ' dans la macro ci-dessu.
Je dois rendre un des chiffres négatifs lorsque dans une colonne on retrouve le texte 'Risk" et rien faire si on rencontre' Opportunity".
Pouvez vous m'aider?
Merci d'avance
30 juin 2008 à 10:22
je viens de suivre ton conseil et ça a l'air de bien fonctionner. Je te transmets ce que j'ai fait pour être sur car les IF imbriqués sont encore, pour moi assez périlleux.
Je me demande si ce n'est pas toi qui m'avait envoyé cette macro.
MERCI beaucoup
Alain
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
If Not IsNumeric(sel.Value) Then
MsgBox "Montant non numérique": sel.Select
Else
sel.Value = sel.Value * -1
End If
Application.EnableEvents = True
End If
End Sub