Ou est l'erreur?
Fermé
Dandy_danbe
Messages postés
108
Date d'inscription
mardi 18 mars 2014
Statut
Membre
Dernière intervention
11 avril 2022
-
20 août 2016 à 06:46
Dandy_danbe Messages postés 108 Date d'inscription mardi 18 mars 2014 Statut Membre Dernière intervention 11 avril 2022 - 22 août 2016 à 05:38
Dandy_danbe Messages postés 108 Date d'inscription mardi 18 mars 2014 Statut Membre Dernière intervention 11 avril 2022 - 22 août 2016 à 05:38
4 réponses
Mike-31
Messages postés
18337
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
27 septembre 2024
5 099
Modifié par Mike-31 le 20/08/2016 à 07:58
Modifié par Mike-31 le 20/08/2016 à 07:58
Bonjour,
dans les propriétés d'un onglet tu ne peux avoir qu'une seule syntaxe
Private Sub Worksheet_Change(ByVal Target As Range)
il te faut donc supprimer le
End Sub
et
Private Sub Worksheet_Change(ByVal Target As Range)
et
If Target.Count > 1 Then Exit Sub
qui se trouvent au centre de ton code ainsi que cette variable
Dim C As Range déjà présente en début de code
tu peux également simplifier
Target.Select
Target.ClearContents
par
Target.ClearContents
quoi que en regardant ton code, il s'applique à deux onglets
Betaalt et Berekening
il convient donc de mettre un code dans chaque propriété onglet
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
dans les propriétés d'un onglet tu ne peux avoir qu'une seule syntaxe
Private Sub Worksheet_Change(ByVal Target As Range)
il te faut donc supprimer le
End Sub
et
Private Sub Worksheet_Change(ByVal Target As Range)
et
If Target.Count > 1 Then Exit Sub
qui se trouvent au centre de ton code ainsi que cette variable
Dim C As Range déjà présente en début de code
tu peux également simplifier
Target.Select
Target.ClearContents
par
Target.ClearContents
quoi que en regardant ton code, il s'applique à deux onglets
Betaalt et Berekening
il convient donc de mettre un code dans chaque propriété onglet
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Dandy_danbe
Messages postés
108
Date d'inscription
mardi 18 mars 2014
Statut
Membre
Dernière intervention
11 avril 2022
20 août 2016 à 08:39
20 août 2016 à 08:39
Bonjour;
j'ai corrige le code, mais je ne comprend pas
quoi que en regardant ton code, il s'applique à deux onglets
Betaalt et Berekening
il convient donc de mettre un code dans chaque propriété onglet?
le code fonctionne mais pas comme je le voudrais!
le B en fin de colonne a la place de à droite la dernier celulle pleine
il faut que le "B" soit sur la ligne (6)
exemple les celulles ( ligne 6 b,c,d,)contienne deja un "B" il faut ajoute un " b"(ligne 6 e6)
j'ai corrige le code, mais je ne comprend pas
quoi que en regardant ton code, il s'applique à deux onglets
Betaalt et Berekening
il convient donc de mettre un code dans chaque propriété onglet?
le code fonctionne mais pas comme je le voudrais!
le B en fin de colonne a la place de à droite la dernier celulle pleine
il faut que le "B" soit sur la ligne (6)
exemple les celulles ( ligne 6 b,c,d,)contienne deja un "B" il faut ajoute un " b"(ligne 6 e6)
Mike-31
Messages postés
18337
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
27 septembre 2024
5 099
20 août 2016 à 10:20
20 août 2016 à 10:20
Re,
clic droit sur l'onglet Betaalt/visualiser le code/coller ce code
pour l'instant ce code colle des B à partir de la colonne B
si en E6 tu saisis 2 deux B sont reportés en B2 et C2
si tu resaisis en E6 exemple 4 le code retranscrit quatre B à la ligne suivante soit B2, C2, D2 et E4 etc ...
si ce n'est pas ce que tu attends explique tes attentes
clic droit sur l'onglet Betaalt/visualiser le code/coller ce code
Private Sub Worksheet_Change(ByVal Target As Range)
Dim C As Range
If Target.Count > 1 Then Exit Sub
If Target.Address = "$E$6" Then
With Worksheets("Betaalt")
Set C = .Columns(2).Find(Target.Offset(-3), , xlValues, xlWhole)
If Not C Is Nothing Then
.Cells(C.Row, Columns.Count).End(xlToLeft).Offset(, 1).Resize(, Target.Value).Value = "B"
MsgBox "Report effectué."
Application.EnableEvents = False
Target.Select
Target.ClearContents
Application.EnableEvents = True
End If
End With
End If
End Sub
pour l'instant ce code colle des B à partir de la colonne B
si en E6 tu saisis 2 deux B sont reportés en B2 et C2
si tu resaisis en E6 exemple 4 le code retranscrit quatre B à la ligne suivante soit B2, C2, D2 et E4 etc ...
si ce n'est pas ce que tu attends explique tes attentes
Dandy_danbe
Messages postés
108
Date d'inscription
mardi 18 mars 2014
Statut
Membre
Dernière intervention
11 avril 2022
21 août 2016 à 08:01
21 août 2016 à 08:01
Bonjour;
merci de votre réponce, ce code je l'ai reçu de cyruis
ce que je voudrais c'est ajouter un deuxime code si c'est possible
merci de votre réponce, ce code je l'ai reçu de cyruis
ce que je voudrais c'est ajouter un deuxime code si c'est possible
Mike-31
Messages postés
18337
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
27 septembre 2024
5 099
21 août 2016 à 09:06
21 août 2016 à 09:06
Re,
tout est possible si tu expliques ce que tu veux faire ce code s'applique à la feuille nommée "Betaalt"
Private Sub Worksheet_Change(ByVal Target As Range)
Dim C As Range
If Target.Count > 1 Then Exit Sub
If Target.Address = "$E$6" Then
With Worksheets("Betaalt")
Set C = .Columns(2).Find(Target.Offset(-3), , xlValues, xlWhole)
If Not C Is Nothing Then
.Cells(C.Row, Columns.Count).End(xlToLeft).Offset(, 1).Resize(, Target.Value).Value = "B"
MsgBox "Report effectué."
Application.EnableEvents = False
Target.ClearContents
Application.EnableEvents = True
End If
End With
End If
End Sub
si tu veux utiliser ce code pour ta feuille "Berekening" il faut coller ce code dans les propriétés de cette feuille et non dans celle de la feuille "Betaalt"
Private Sub Worksheet_Change(ByVal Target As Range)
Dim C As Range
If Target.Count > 1 Then Exit Sub
If Target.Address = "$E$6" Then
With Worksheets("Berekening")
Set C = .Columns(2).Find(Target.Offset(-3), , xlValues, xlWhole)
If Not C Is Nothing Then
.Cells(C.Row, Columns.Count).End(xlToLeft).Offset(, 1).Resize(, Target.Value).Value = "B"
MsgBox "Report effectué."
Application.EnableEvents = False
Target.ClearContents
Application.EnableEvents = True
End If
End With
End If
End Sub
tout est possible si tu expliques ce que tu veux faire ce code s'applique à la feuille nommée "Betaalt"
Private Sub Worksheet_Change(ByVal Target As Range)
Dim C As Range
If Target.Count > 1 Then Exit Sub
If Target.Address = "$E$6" Then
With Worksheets("Betaalt")
Set C = .Columns(2).Find(Target.Offset(-3), , xlValues, xlWhole)
If Not C Is Nothing Then
.Cells(C.Row, Columns.Count).End(xlToLeft).Offset(, 1).Resize(, Target.Value).Value = "B"
MsgBox "Report effectué."
Application.EnableEvents = False
Target.ClearContents
Application.EnableEvents = True
End If
End With
End If
End Sub
si tu veux utiliser ce code pour ta feuille "Berekening" il faut coller ce code dans les propriétés de cette feuille et non dans celle de la feuille "Betaalt"
Private Sub Worksheet_Change(ByVal Target As Range)
Dim C As Range
If Target.Count > 1 Then Exit Sub
If Target.Address = "$E$6" Then
With Worksheets("Berekening")
Set C = .Columns(2).Find(Target.Offset(-3), , xlValues, xlWhole)
If Not C Is Nothing Then
.Cells(C.Row, Columns.Count).End(xlToLeft).Offset(, 1).Resize(, Target.Value).Value = "B"
MsgBox "Report effectué."
Application.EnableEvents = False
Target.ClearContents
Application.EnableEvents = True
End If
End With
End If
End Sub
Dandy_danbe
Messages postés
108
Date d'inscription
mardi 18 mars 2014
Statut
Membre
Dernière intervention
11 avril 2022
22 août 2016 à 05:38
22 août 2016 à 05:38
Bonjour;
ok et merci beaucoup
ok et merci beaucoup