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

Fusionner 2 Macros Worksheet_Change

  • Initiateur de la discussion Initiateur de la discussion bambi
  • 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 !

bambi

XLDnaute Occasionnel
Bonjour à tous 🙂

Mon probleme est dans le titre.

Je voudrais mettre sur une feuille, deux Macros Worksheet_Change

Une me permet de transformer des saisies au clavier numérique au format heure 00:00
L'autre de transformer automatiquement des minuscules en majuscules après saisie

Ces deux macros fonctionnent parfaitement pris une à une.

Problème: J'ai lu ici même qu'on ne pouvait pas avoir en même temps 2 Macros Worksheet_Change

Et j'ai beau tenter toutes les combinaisons, je ne parviens pas à les fusionner.

Donc un petit coup de main serait le bienvenu
Merci d'avance 😉

Voici les deux codes en question

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [D4,D5,D17,D18,D30,D31,D43,D44,D56,D57,M4,M5,M17,M18,M30,M31,M43,M44,M56,M57]) Is Nothing Then Exit Sub
Application.EnableEvents = False
Target = UCase(Target)
Application.EnableEvents = True
End Sub

Code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim TimeStr As String

On Error GoTo EndMacro
If Application.Intersect(Target, Range("D3, F3, D16, F16, D29, F29, D42, F42, D55, F55, M3, O3, M16, O16, M29, O29, M42, O42, M55, O55")) Is Nothing Then
    Exit Sub
End If
If Target.Cells.Count > 1 Then
    Exit Sub
End If
If Target.Value = "" Then
    Exit Sub
End If

Application.EnableEvents = False
With Target
If .HasFormula = False Then
    Select Case Len(.Value)
        Case 1 ' e.g., 1 = 00:01 AM
            TimeStr = "00:0" & .Value
        Case 2 ' e.g., 12 = 00:12 AM
            TimeStr = "00:" & .Value
        Case 3 ' e.g., 735 = 7:35 AM
            TimeStr = Left(.Value, 1) & ":" & _
            Right(.Value, 2)
        Case 4 ' e.g., 1234 = 12:34
            TimeStr = Left(.Value, 2) & ":" & _
            Right(.Value, 2)
        Case 5 ' e.g., 12345 = 1:23:45 NOT 12:03:45
            TimeStr = Left(.Value, 1) & ":" & _
            Mid(.Value, 2, 2) & ":" & Right(.Value, 2)
        Case 6 ' e.g., 123456 = 12:34:56
            TimeStr = Left(.Value, 2) & ":" & _
            Mid(.Value, 3, 2) & ":" & Right(.Value, 2)
        Case Else
            Err.Raise 0
    End Select
    .Value = TimeValue(TimeStr)
End If
End With
Application.EnableEvents = True
Exit Sub
EndMacro:
MsgBox "You did not enter a valid time"
Application.EnableEvents = True

End Sub
 
Re : Fusionner 2 Macros Worksheet_Change

Bonjour Bambi

regarde si tu peux t'inspirer de ceci :

Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Or Application.CountA(Target) = 0 Then Exit Sub
If Not Intersect(Target, Range("A1:A10,B1:B10")) Is Nothing Then
    If Not Intersect(Target, Range("A1:A10")) Is Nothing Then
        'code de ta macro 1
    End If
    If Not Intersect(Target, Range("B1:B10")) Is Nothing Then
        'code de ta macro 2
    End If
End If
End Sub

bone soirée
@+
 
Re : Fusionner 2 Macros Worksheet_Change

Merci beaucoup Pierrot
Je ne sais pas encore comment j'ai fait mais ça fonctionne parfaitement !
Un miracle vu mon niveau mais ça marche, c'est l'essentiel 😉
 
- 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

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
250
  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
233
Réponses
2
Affichages
129
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
79
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
503
Réponses
4
Affichages
148
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…