SUPER RESOLU - Macro qui Beug

  • Initiateur de la discussion Initiateur de la discussion Usine à gaz
  • 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 !

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,

J'ai une macro qui beug et je n'arrive pas à trouver pourquoi.

Si vous pouviez m'aider ça m'arrangerai bien.

Voici la vilaine :
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveSheet.Unprotect Password:="Krameri"
If Not Intersect(Target, Range("L3:L2000")) Is Nothing And Target.Count = 1 Then
Pratique2.Show
End If
ActiveSheet.Unprotect Password:="Krameri"
If Not Intersect(Target, Range("F4:F2000,K4:K2000,L4:K2000,N4:N2000,P4:P2000")) Is Nothing Then
Call AjouteC33
Call AjouteD33
Call DLFA
ActiveSheet.Protect Password:="Krameri", DrawingObjects:=True, Contents:=True, Scenarios:=True
    ActiveSheet.EnableSelection = xlUnlockedCells
Application.EnableEvents = 0: Target.Select: Application.EnableEvents = 1 '...revient
End If
End Sub

Voici la photo :
Beug Macro.jpg

Avec un grand Merci, je vous souhaite à toutes et à tous un bon WE

Amicalement,
Calimero,
 
Dernière édition:
Re : Macro qui Beug

Bonjour à tous,

Code:
If Not Intersect(Target, Range("F4:F2000,K4:K2000,L4:K2000,N4:N2000,P4:P2000"))

Vérifie les plages : L4:K2000 ne doit il pas être K4:K2000.

A+ à tous

Edition : A tester

Code VBA:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'ActiveSheet.Unprotect Password:="Krameri"
If Not Intersect(Target, Range("L3:L2000")) Is Nothing And Target.Count = 1 Then
MsgBox "Ouvre Pratique2.Show" 'Pratique2.Show
End If
If Not Intersect(Target, Range("F4:F2000,K4:K2000,N4:N2000,P4😛2000")) Is Nothing Then
MsgBox "Lance AjouteC33, AjouteD33 et DLFA" 'Call AjouteC33
'Call AjouteD33
'Call DLFA
'ActiveSheet.Protect Password:="Krameri", DrawingObjects:=True, Contents:=True, Scenarios:=True
' ActiveSheet.EnableSelection = xlUnlockedCells
Application.EnableEvents = 0: Target.Select: Application.EnableEvents = 1 '...revient
End If
End Sub
 
Dernière édition:
Re : Macro qui Beug

Merci pour cette réponse si rapide mais j'ai le même souci.

Voici ce que j'ai fait avec votre macro :
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'ActiveSheet.Unprotect Password:="Krameri"
If Not Intersect(Target, Range("L3:L2000")) Is Nothing And Target.Count = 1 Then
MsgBox "Ouvre Pratique2.Show" 'Pratique2.Show
End If
If Not Intersect(Target, Range("F4:F2000,K4:K2000,L4:L2000,N4:N2000,P4:P2000")) Is Nothing Then
MsgBox "Lance AjouteC33, AjouteD33 et DLFA"
'Call AjouteC33
'Call AjouteD33
'Call DLFA
'ActiveSheet.Protect Password:="Krameri", DrawingObjects:=True, Contents:=True, Scenarios:=True
' ActiveSheet.EnableSelection = xlUnlockedCells
Application.EnableEvents = 0: Target.Select: Application.EnableEvents = 1 '...revient
End If
End Sub

ça bloque toujours là :
If Not Intersect(Target, Range("F4:F2000,K4:K2000,L4:L2000,N4:N2000,P4😛2000")) Is Nothing Then

Je continue à chercher
Amicalement,
Calimero,
 
Re : Macro qui Beug

Re

arthour973
Dans ce cas, suis le conseil que je te donnais dans mon premier message, celui de 12h49 😉

Pour infos
A mon sens, ces deux écritures désignent la même plage non ?
Code:
Sub test()
MsgBox Range("F4:F2000,K4:K2000,L4:L2000,N4:N2000,P4:P2000").Address
MsgBox Range("F4:F2000,K4:L2000,N4:N2000,P4:P2000").Address
End Sub
 
Dernière édition:
Re : Macro qui Beug

Re-bonjour,

Il me semble n'avoir qu'une fois cette ligne dans la macro : MsgBox Range("F4:F2000,K4:K2000,L4:L2000,N4:N2000,P4😛2000").Address

J'avais pas vu votre premier message.

Voici le fichier en pièce jointe.
Dans la feuille F1, il faut cliquer sur "Rappel suivant"

Merci de votre aide,
Amicalement
Calimero,
 

Pièces jointes

Re : Macro qui Beug

Re

arthour973
Ce n'était qu'un exemple pour signifier que tu pouvais raccourcir ton écriture
puisque L et K sont des colonnes contiguës.

Une version allégée et simplifiée de ton fichier précédemment joint permettrait d'y voir plus clair 😉

(trop de code à lire et de procédures imbriquées en l'état actuel)
 
Dernière édition:
Re : Macro qui Beug

Avec ton fichier, ça marche mais quand je mets la macro dans mon fichier, ça bloque au même niveau.

Donc, apparemment, ce n'est pas la macro mais un truc "autour".
Je cherche encore

Un grand merci de me répondre en ce jour en plus 🙂
 
Re : Macro qui Beug

Bonjour à tous,

Peux-tu essayer :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'ActiveSheet.Unprotect Password:="Krameri"
    If Not Intersect(Target, Range("L3:L2000")) Is Nothing And Target.Count = 1 Then
        Pratique2.Show
    Else
        If Not Intersect(Target, Range("F3:F2000")) Is Nothing Or _
           Not Intersect(Target, Range("K3:K2000")) Is Nothing Or _
           Not Intersect(Target, Range("L3:L2000")) Is Nothing Or _
           Not Intersect(Target, Range("N3:N2000")) Is Nothing Or _
           Not Intersect(Target, Range("P3:P2000")) Is Nothing Then
            MsgBox "Lance AjouteC33, AjouteD33 et DLFA", , "Action"  'Call AjouteC33
            'Call AjouteD33
            'Call DLFA
            'ActiveSheet.Protect Password:="Krameri", DrawingObjects:=True, Contents:=True, Scenarios:=True
            '    ActiveSheet.EnableSelection = xlUnlockedCells
            Application.EnableEvents = 0: Target.Select: Application.EnableEvents = 1    '...revient
        End If
    End If
End Sub

A+ à tous
 
- 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 Probléme VBA
Réponses
8
Affichages
319
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
483
Réponses
16
Affichages
1 K
Réponses
0
Affichages
566
Réponses
4
Affichages
550
Retour