Bonjour tout le monde,
Je cherche à automatiser une saisie sur un tableur excel en utilisant un code VBA. Dès qu'une cellule est modifiée, j'efface certaines données ou je fais apparaître des Userforms en fonction de certains choix.
Pour le moment, tout fonctionne. Mais en faisant quelques tests je me rends compte que quand je fais une sélection d'une plage de donnée n'importe ou dans la feuille excel et que je la supprime ou la modifie, le code plante.
Voici le code :
Le code plante à la ligne 16.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 Private Sub Worksheet_Change(ByVal Target As Range) 'Efface la colonne profil d occupation si l usage change For i = 14 To 42 If Target.Column = 4 And Target.Row = i Then Cells(i, 5) = "" End If Next 'Alerte sur l heure de fermeture du site For j = 6 To 10 If Target.Column = 6 And Target.Row = j And Cells(j, 6) < Cells(j, 5) Then MsgBox "L heure de fermeture est plus tot que l'heure d ouverture. êtes vous sur de votre choix ?" End If Next 'Demande de veille des équipements ou pas For Z = 14 To 42 If Target.Column = 5 And Target.Row = Z And Target.Value = "Sanitaires" Then UserForm1.Show Cells(Z, 34).Value = Cells(2, 34).Value ElseIf Target.Column = 5 And Target.Row = Z Then Cells(Z, 34).Value = "" End If Next End Sub
Je pense qu'il n'aime pas le fait que je modifie plusieurs cellules en même temps.
Est ce que je peux modifier mon code pour pouvoir permettre une sélection de plusieurs cellule et faire une suppression des données ? Si oui, comment ?
Merci d'avance pour votre aide.
Bien cordialement,
Romain.
Partager