Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Arreter macro évennementielle!

  • Initiateur de la discussion Initiateur de la discussion Claudy
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Claudy

XLDnaute Accro
Bonjour,
Ci dessous macro évennementielle dont le but est:

Afficher le numéro du mois contenu dans la colonne B avec ce que l'utilisateur aura saisi dans la colonne I .
Donc: je tape 126.... et si c'est en date du 28/02/2013...il s'afficherait 02-126.
Seulement la macro ci dessous affiche 02- 02- 02- 02- 02-02- 02- 02- 02- 02-.......

Private Sub Worksheet_Change(ByVal Target As Range)
Dim mod106 As Integer
If Not Intersect(Target, Range("I85:I100")) Is Nothing Then
mod106 = Month(Target.Offset(0, -7))


Target = Format(mod106, "00- ") & Target.Value

'Exit Sub
End If
End Sub
Merci d'avance,
Claudy
 
Re : Arreter macro évennementielle!

Bonjour,
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("I85:I100")) Is Nothing Then
    Application.EnableEvents = False
    Target = Format(Month(Target.Offset(0, -7)), "00- ") & Target.Value
    Application.EnableEvents = True
End If
End Sub
A+
kjin
 
Re : Arreter macro évennementielle!

Bonjour claudy,
Il te faut neutraliser l’évènement avec

Application.EnableEvents = False
Target = Format(mod106, "00- ") & Target.Value
Application.EnableEvents = True

Bruno
 
Re : Arreter macro évennementielle!

Merci à vous deux...
Mais c'est vrai je n'ai plus le 02- 02- 02- 02- 02-02- 02- 02- 02- 02-.......
Mais j'ai juste ce que je tape dans mon target! Donc: 126 àld 02-126!
A+
Claudy
 
Re : Arreter macro évennementielle!

Bonjour.
D'après ce que j'ai compris:
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("I85:I100")) Is Nothing Then Exit Sub
If Target.Count <> 1 Then Exit Sub
If Target.Value Like "*- *" Then Exit Sub
Application.EnableEvents = False
Target = "'" & Format(Month(Target.Offset(0, -7)), "00") & "- " & Target.Value
Application.EnableEvents = True
End Sub
Cordialement.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
9
Affichages
508
Réponses
6
Affichages
636
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
  • Question Question
Microsoft 365 Problème de date
Réponses
5
Affichages
358
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…