Méthode Select dans Private Sub
Résolu
Identifiant_Anonyme
Messages postés
12
Date d'inscription
Statut
Membre
Dernière intervention
-
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Le code suivant génère l'erreur : La méthode Select de la classe Range a échoué.
Savez-vous comment contourner le problème, sachant que je n'ai qu'une seule feuille dans mon classeur ?
Merci beaucoup.
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
'Eviter selection multiple
ActiveSheet.Cells(Target.Row, Target.Column).Select
' Cocher resultats
If ActiveCell.Column = 3 Or ActiveCell.Column = 9 Then
ActiveCell.Value = "V"
Selection.Offset(0, 1).Value = ""
Selection.Offset(0, 2).Value = ""
ElseIf ActiveCell.Column = 4 Or ActiveCell.Column = 10 Then
ActiveCell.Value = "N"
Selection.Offset(0, -1).Value = ""
Selection.Offset(0, 1).Value = ""
ElseIf ActiveCell.Column = 5 Or ActiveCell.Column = 11 Then
ActiveCell.Value = "V"
Selection.Offset(0, -1).Value = ""
Selection.Offset(0, -2).Value = ""
End If
End Sub
Le code suivant génère l'erreur : La méthode Select de la classe Range a échoué.
Savez-vous comment contourner le problème, sachant que je n'ai qu'une seule feuille dans mon classeur ?
Merci beaucoup.
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
'Eviter selection multiple
ActiveSheet.Cells(Target.Row, Target.Column).Select
' Cocher resultats
If ActiveCell.Column = 3 Or ActiveCell.Column = 9 Then
ActiveCell.Value = "V"
Selection.Offset(0, 1).Value = ""
Selection.Offset(0, 2).Value = ""
ElseIf ActiveCell.Column = 4 Or ActiveCell.Column = 10 Then
ActiveCell.Value = "N"
Selection.Offset(0, -1).Value = ""
Selection.Offset(0, 1).Value = ""
ElseIf ActiveCell.Column = 5 Or ActiveCell.Column = 11 Then
ActiveCell.Value = "V"
Selection.Offset(0, -1).Value = ""
Selection.Offset(0, -2).Value = ""
End If
End Sub
A voir également:
- Méthode Select dans Private Sub
- Navigation in private - Guide
- Dekart private disk - Télécharger - Chiffrement
- Please select boot device - Forum Windows
- Move your sub - Télécharger - Sous-titres
- Reboot and select proper boot device asus - Forum Matériel & Système
8 réponses
Bonjour, comme tu n'as qu'une feuille il est inutile d'appeler "workbook"
macro à installer dans le module de la feuille
macro à installer dans le module de la feuille
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Col As Byte
If Target.Count > 1 Then Exit Sub
Application.EnableEvents = False
With Target
Col = .Column
Select Case Col
Case 3, 9
.Value = "V"
.Offset(0, 1) = ""
.Offset(0, 2) = ""
Case 4, 10
.Value = "N"
Target.Offset(0, -1) = ""
ActiveCell.Offset(0, -2) = ""
Case 5, 11
.Value = "N"
.Offset(0, -1) = ""
.Offset(0, -2) = ""
End Select
End With
Application.EnableEvents = True
End Sub
Sub SOS()
'dépannage pour réamorcer les macros événementielles en cas de sortie intempestive de la procédure
Application.EnableEvents = True
End Sub
Bonjour Michel,
J'aurais besoin que la macro se déclenche à chaque changement de cellule. Malheureusement, je n'arrive pas à faire fonctionner ton code...
Le fichier joint, si tu as deux minutes pour regarder... C'est un petit loto foot
https://www.cjoint.com/?3ECnDRixz5D
J'aurais besoin que la macro se déclenche à chaque changement de cellule. Malheureusement, je n'arrive pas à faire fonctionner ton code...
Le fichier joint, si tu as deux minutes pour regarder... C'est un petit loto foot
https://www.cjoint.com/?3ECnDRixz5D
Tout à fait, c'est bien ce que j'ai fait, mais voyant que ça ne fonctionnait pas, j'ai essayé dans Thisworkbook, et évidemment, rien de plus.
Depuis tout à l'heure je réessaye, mais visiblement j'ai du mal, je n'arrive à rien de bon.
Depuis tout à l'heure je réessaye, mais visiblement j'ai du mal, je n'arrive à rien de bon.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
J'ai essayé avec victoire du brésil en cliquant sur la cellule colonne 4 à coté de Brésil: ca a bien écrit V et donner 3 points au Brésil
Terminé
Terminé
:((
Est-ce que tu voudrais bien m'envoyer ton fichier, dans lequel ça fonctionne ?
Parce que moi, j'ai enlevé tous mes modules, effacé thisworkbook et créé un nouveau module pour y mettre ton code, et... rien ne se passe.
Est-ce que tu voudrais bien m'envoyer ton fichier, dans lequel ça fonctionne ?
Parce que moi, j'ai enlevé tous mes modules, effacé thisworkbook et créé un nouveau module pour y mettre ton code, et... rien ne se passe.
Bonjour,
J'ai finalement réussi à faire fonctionner le code, mais en l'insérant bien dans thisworkbook, et en modifiant le début :
Impossible par contre de le faire fonctionner depuis un module standard, même avec la meilleure volonté...
Sans doute un mystère qui restera dans l'ombre.
Je mets en résolu, merci encore et à bientôt !
II
J'ai finalement réussi à faire fonctionner le code, mais en l'insérant bien dans thisworkbook, et en modifiant le début :
With Target
If .Count > 1 Then Exit Sub
Select Case .Column
Case 3, 9
etc.
Impossible par contre de le faire fonctionner depuis un module standard, même avec la meilleure volonté...
Sans doute un mystère qui restera dans l'ombre.
Je mets en résolu, merci encore et à bientôt !
II