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

XL 2019 Worksheet_change fait planté excel

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 !

thespeedy20

XLDnaute Occasionnel
Bonjour,

Ma macro actuellement se trouve en worksheet_selection change et quand je la passe en worksheet selection, excel disparaît, en bref plante...

Pouvez-vous me dire pourquoi ? Merci


VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Plg As Range
Dim valeur
Dim valeur_2
    
    
    Set Plg = Sheets("Professeurs").Range("A1:G39")
    
    With Sheets("Absence formulaire")
        
        If .Range("A10").Value <> "" Then
                    
            .Range("B13").Value = WorksheetFunction.VLookup(.Range("A10").Value, Plg, 2, False)
            
        valeur = WorksheetFunction.VLookup(.Range("A10").Value, Plg, 3, False)
            
            Cells(17, 4).Value = Mid(valeur, 1, 1)
            For i = 1 To 6: .Cells(17, i + 5).Value = Mid(valeur, i + 1, 1): Next i
            For i = 1 To 4: .Cells(17, i + 12).Value = Mid(valeur, i + 7, 1): Next i
        
        valeur_2 = WorksheetFunction.VLookup(.Range("A10").Value, Plg, 4, False)
        
             For j = 1 To Len(valeur_2): .Cells(21, j + 3).Value = Mid(valeur_2, j, 1): Next j
      
         Else
        
         .Range("B13").Value = ""
         .Range(.Cells(17, 4), .Cells(17, 16)).ClearContents
         .Range(.Cells(21, 4), .Cells(21, 14)).ClearContents

End If
End With
End Sub

Oli
 

Pièces jointes

Bonjour le fil,

Juste pour info
Tu peux simplifier la fin de ton code (l'effacement des cellules) comme suit
VB:
Sub Simplification()
Range("B13,D17:P17,D21:N21").ClearContents
'ou
Range("B13,D17:P17,D21:N21") = Empty
'ou
Range("B13,D17:P17,D21:N21") = ""
End Sub
 
Bonjour à tous,

ça veut dire quoi
quand je la passe en worksheet selection
?

Ton With Sheets("Absence formulaire") est inutile.
Il s'agit de la feuille dont tu utilises un événement, elle obligatoirement active et prise par défaut.
Evite de sauter trop de lignes, on a 2 fois moins d'infos sous les yeux.
eric
 
Bonjour,
"worksheet selection", n'existe pas
Tu veux certainement parler de "Worksheet_Change"
Une piste
La macro évènementielle de " Worksheet_Change" comporte généralement cette instruction en début de macro
Application.EnableEvents = False
et en fin de macro
Application.EnableEvents = True
 
- 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
513
Réponses
4
Affichages
201
Réponses
2
Affichages
210
Réponses
8
Affichages
236
Réponses
8
Affichages
482
Réponses
10
Affichages
292
Réponses
5
Affichages
242
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
179
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…