Problème Private Sub Worksheet_BeforeDoubleClick

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

vdh_xavier

XLDnaute Junior
Bonjour à tous,

J'ai deux problèmes avec une macro qui s'active après un double-clique:

Merci à ceux qui voudront bien y jeter un coup d'oeil.

Voici le code:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

If Not Intersect(Target, Range("C3:C200")) Is Nothing Then
ActiveSheet.Unprotect ("xavier")

If MsgBox("Done?", vbYesNo, "Demande de confirmation") = vbYes Then

Target.EntireRow.Delete
Cancel = True

ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:=True, Password:="xavier"

Else: Cells(3, 1).Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:=True, Password:="xavier"

End If
End If

If Not Intersect(Target, Range("B1:B2")) Is Nothing Then
ActiveSheet.Unprotect ("xavier")

Application.Run ("Tri_par_Rappels")

End If


End Sub

Pour la première partie du code (EntireRow.Delete), j'ai le message d'erreur suivant : La méthode 'Intersect' de l'objet '_Global' a échoué.

Pour la deuxième partie du code (lancement d'une macro), j'ai le message d'erreur suivant : Impossible d'exécuter la macro 'Tri_par_Rappels'. Il est possible qu'elle ne soit pas disponible dans ce classeur ou que toutes les macros soient désactivées.

Pourtant les macros sont activées et la macro est disponible dans le classeur. De plus, elle fonctionne quand je la lance manuellement.

Voici son code :

Sub Tri_par_Rappels()

Sheets("FB").Select
ActiveSheet.Unprotect ("xavier")

Range("B1:B200").Select
ActiveWorkbook.Worksheets("FB").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("FB").Sort.SortFields.Add Key:=Range( _
"B3:B200"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("FB").Sort
.SetRange Range("A1:C200")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

Range("A3:C200").Select
Selection.Rows.AutoFit
Range("A3").Select

ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:=True, Password:="xavier"

End Sub


Je joins le fichier pour plus de facilité.

Merci d'avance
 

Pièces jointes

Re : Problème Private Sub Worksheet_BeforeDoubleClick

Bonjour Xavier,
Pour la deuxième partie du code (lancement d'une macro), j'ai le message d'erreur suivant : Impossible d'exécuter la macro 'Tri_par_Rappels'. Il est possible qu'elle ne soit pas disponible dans ce classeur ou que toutes les macros soient désactivées.

Pourtant les macros sont activées et la macro est disponible dans le classeur. De plus, elle fonctionne quand je la lance manuellement.
la macro est bien présente mais au mauvais endroit, elle doit se trouver dans un module

le fichier en retour avec 2 corrections dans le premier code où il manquait des "Exit Sub" et le code remis dans un module

à+

Philippe
 

Pièces jointes

- 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
17
Affichages
936
  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
235
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
263
Réponses
16
Affichages
1 K
Retour