michaelexcel
XLDnaute Nouveau
Bonjour à tous,
Je découvre pas à pas la VBA. Je m'amuse bien mais là je ne comprends pas ce qui se passe.
J'ai une sub qui fonctionnait à merveille. Hélas en ajoutant le passage (en gras ci-dessous), excel plante complètement. Le déboggage indique sur le .Range("D4:K24").Copy le message suivant : "Lobjet s'est déconnecté de ses clients".
J'ai testé cette partie (en gras) du code dans une sub séparée et là ça fonctionne.
Pour info, la sub se déclenche automatiquement dès que l'on modifie le tableau situé dans ("AFFICHER").Je vous mets la sub correspondante tout en bas.
Merci !!
Sub Sauver ()
Application.ScreenUpdating = False
With Sheets("ListeModif")
.Columns("C:J").Copy
Sheets("Inscriptions").Columns("E:L").PasteSpecial Paste:=xlPasteValues
End With
With Sheets("AfficherModif")
.Range("D4:K24").Copy
Sheets("AFFICHER").Range("D4:K24").PasteSpecial Paste:=xlPasteFormats
End With
Application.CutCopyMode = 0
Range("H2").Select
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim v
Set v = ActiveCell
If Not Application.Intersect(Target, Range("F2")) Is Nothing Then
Afficher
End If
If Not Application.Intersect(Target, Range("D4:K24")) Is Nothing Then
Sauver
End If
v.Select
End Sub
Je découvre pas à pas la VBA. Je m'amuse bien mais là je ne comprends pas ce qui se passe.
J'ai une sub qui fonctionnait à merveille. Hélas en ajoutant le passage (en gras ci-dessous), excel plante complètement. Le déboggage indique sur le .Range("D4:K24").Copy le message suivant : "Lobjet s'est déconnecté de ses clients".
J'ai testé cette partie (en gras) du code dans une sub séparée et là ça fonctionne.
Pour info, la sub se déclenche automatiquement dès que l'on modifie le tableau situé dans ("AFFICHER").Je vous mets la sub correspondante tout en bas.
Merci !!
Sub Sauver ()
Application.ScreenUpdating = False
With Sheets("ListeModif")
.Columns("C:J").Copy
Sheets("Inscriptions").Columns("E:L").PasteSpecial Paste:=xlPasteValues
End With
With Sheets("AfficherModif")
.Range("D4:K24").Copy
Sheets("AFFICHER").Range("D4:K24").PasteSpecial Paste:=xlPasteFormats
End With
Application.CutCopyMode = 0
Range("H2").Select
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim v
Set v = ActiveCell
If Not Application.Intersect(Target, Range("F2")) Is Nothing Then
Afficher
End If
If Not Application.Intersect(Target, Range("D4:K24")) Is Nothing Then
Sauver
End If
v.Select
End Sub