j'aimerais dans une procédure "Worksheet_change"
pouvoir annuler l'action précédente en fonction
du "target", analogue à l'annulation manuelle
dans "Edition", mais là j'ai un blanc...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
JB
On 5 fév, 11:13, JeNeVois wrote:
Bonjour,
j'aimerais dans une procédure "Worksheet_change" pouvoir annuler l'action précédente en fonction du "target", analogue à l'annulation manuelle dans "Edition", mais là j'ai un blanc...
Merci pour toute réponse
Salutations Bonjour,
http://cjoint.com/?cflGIW4nMt
Doublons interdits à la saisie. On restitue l'ancienne valeur si doublon détecté.
Dim ancien Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 And Target.Count = 1 Then If Application.CountIf([A:A], Target) > 1 And Target <> "" Then MsgBox "Doublon" If ancien <> "" Then Target = ancien End If End If End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) ancien = Target End Sub
Cordialement JB
On 5 fév, 11:13, JeNeVois <JeNeV...@discussions.microsoft.com> wrote:
Bonjour,
j'aimerais dans une procédure "Worksheet_change"
pouvoir annuler l'action précédente en fonction
du "target", analogue à l'annulation manuelle
dans "Edition", mais là j'ai un blanc...
Merci pour toute réponse
Salutations
Bonjour,
http://cjoint.com/?cflGIW4nMt
Doublons interdits à la saisie. On restitue l'ancienne valeur si
doublon détecté.
Dim ancien
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 Then
If Application.CountIf([A:A], Target) > 1 And Target <> "" Then
MsgBox "Doublon"
If ancien <> "" Then Target = ancien
End If
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ancien = Target
End Sub
j'aimerais dans une procédure "Worksheet_change" pouvoir annuler l'action précédente en fonction du "target", analogue à l'annulation manuelle dans "Edition", mais là j'ai un blanc...
Merci pour toute réponse
Salutations Bonjour,
http://cjoint.com/?cflGIW4nMt
Doublons interdits à la saisie. On restitue l'ancienne valeur si doublon détecté.
Dim ancien Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 And Target.Count = 1 Then If Application.CountIf([A:A], Target) > 1 And Target <> "" Then MsgBox "Doublon" If ancien <> "" Then Target = ancien End If End If End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) ancien = Target End Sub
Cordialement JB
JeNeVois
Merci, ça fonctionne. Ce n'est quand même pas aussi élémentaire; pourtant manuellement on réctifie souvent le geste (moi au moins :), c'est étrange que je n'avais pas trouvé de question analogue dans le forum (mais je n'avais peut-être pas trouvé les bons mot de recherche...)
Bonne soirée
Cordialement
On 5 fév, 11:13, JeNeVois wrote:
Bonjour,
j'aimerais dans une procédure "Worksheet_change" pouvoir annuler l'action précédente en fonction du "target", analogue à l'annulation manuelle dans "Edition", mais là j'ai un blanc...
Merci pour toute réponse
Salutations Bonjour,
http://cjoint.com/?cflGIW4nMt
Doublons interdits à la saisie. On restitue l'ancienne valeur si doublon détecté.
Dim ancien Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 And Target.Count = 1 Then If Application.CountIf([A:A], Target) > 1 And Target <> "" Then MsgBox "Doublon" If ancien <> "" Then Target = ancien End If End If End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) ancien = Target End Sub
Cordialement JB
Merci, ça fonctionne. Ce n'est quand même pas aussi élémentaire;
pourtant manuellement on réctifie souvent le geste (moi au moins :),
c'est étrange que je n'avais pas trouvé de question analogue dans
le forum (mais je n'avais peut-être pas trouvé les bons mot
de recherche...)
Bonne soirée
Cordialement
On 5 fév, 11:13, JeNeVois <JeNeV...@discussions.microsoft.com> wrote:
Bonjour,
j'aimerais dans une procédure "Worksheet_change"
pouvoir annuler l'action précédente en fonction
du "target", analogue à l'annulation manuelle
dans "Edition", mais là j'ai un blanc...
Merci pour toute réponse
Salutations
Bonjour,
http://cjoint.com/?cflGIW4nMt
Doublons interdits à la saisie. On restitue l'ancienne valeur si
doublon détecté.
Dim ancien
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 Then
If Application.CountIf([A:A], Target) > 1 And Target <> "" Then
MsgBox "Doublon"
If ancien <> "" Then Target = ancien
End If
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ancien = Target
End Sub
Merci, ça fonctionne. Ce n'est quand même pas aussi élémentaire; pourtant manuellement on réctifie souvent le geste (moi au moins :), c'est étrange que je n'avais pas trouvé de question analogue dans le forum (mais je n'avais peut-être pas trouvé les bons mot de recherche...)
Bonne soirée
Cordialement
On 5 fév, 11:13, JeNeVois wrote:
Bonjour,
j'aimerais dans une procédure "Worksheet_change" pouvoir annuler l'action précédente en fonction du "target", analogue à l'annulation manuelle dans "Edition", mais là j'ai un blanc...
Merci pour toute réponse
Salutations Bonjour,
http://cjoint.com/?cflGIW4nMt
Doublons interdits à la saisie. On restitue l'ancienne valeur si doublon détecté.
Dim ancien Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 And Target.Count = 1 Then If Application.CountIf([A:A], Target) > 1 And Target <> "" Then MsgBox "Doublon" If ancien <> "" Then Target = ancien End If End If End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) ancien = Target End Sub
Cordialement JB
cousinhub
Bonjour JB, Je viens d'essayer tes codes et je me suis aperçu qu'il y avait un petit souci. Si on entre 2 fois le même mot dans la colonne A (vide au préalable), le Msgbox "doublon" apparaît bien, mais n'interdit pas la saisie. Si ensuite, on remplace ce doublon par un autre doublon (nommé doublon2 d'un autre mot), le MSgbox apparaît également, et remplace ce doublon2 par le doublon d'origine et alors boucle sans fin (CTRL+ALT+SUPPR......) Ne vaut-il mieux pas remplacer :
If ancien <> "" Then Target = ancien par Target = ancien
Amicalement
On 5 fév, 11:13, JeNeVois wrote:
Bonjour,
j'aimerais dans une procédure "Worksheet_change" pouvoir annuler l'action précédente en fonction du "target", analogue à l'annulation manuelle dans "Edition", mais là j'ai un blanc...
Merci pour toute réponse
Salutations Bonjour,
http://cjoint.com/?cflGIW4nMt
Doublons interdits à la saisie. On restitue l'ancienne valeur si doublon détecté.
Dim ancien Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 And Target.Count = 1 Then If Application.CountIf([A:A], Target) > 1 And Target <> "" Then MsgBox "Doublon" If ancien <> "" Then Target = ancien End If End If End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) ancien = Target End Sub
Cordialement JB
Bonjour JB,
Je viens d'essayer tes codes et je me suis aperçu qu'il y avait un petit
souci.
Si on entre 2 fois le même mot dans la colonne A (vide au préalable), le
Msgbox "doublon" apparaît bien, mais n'interdit pas la saisie.
Si ensuite, on remplace ce doublon par un autre doublon (nommé doublon2
d'un autre mot), le MSgbox apparaît également, et remplace ce doublon2
par le doublon d'origine et alors boucle sans fin (CTRL+ALT+SUPPR......)
Ne vaut-il mieux pas remplacer :
If ancien <> "" Then Target = ancien
par Target = ancien
Amicalement
On 5 fév, 11:13, JeNeVois <JeNeV...@discussions.microsoft.com> wrote:
Bonjour,
j'aimerais dans une procédure "Worksheet_change"
pouvoir annuler l'action précédente en fonction
du "target", analogue à l'annulation manuelle
dans "Edition", mais là j'ai un blanc...
Merci pour toute réponse
Salutations
Bonjour,
http://cjoint.com/?cflGIW4nMt
Doublons interdits à la saisie. On restitue l'ancienne valeur si
doublon détecté.
Dim ancien
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 Then
If Application.CountIf([A:A], Target) > 1 And Target <> "" Then
MsgBox "Doublon"
If ancien <> "" Then Target = ancien
End If
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ancien = Target
End Sub
Bonjour JB, Je viens d'essayer tes codes et je me suis aperçu qu'il y avait un petit souci. Si on entre 2 fois le même mot dans la colonne A (vide au préalable), le Msgbox "doublon" apparaît bien, mais n'interdit pas la saisie. Si ensuite, on remplace ce doublon par un autre doublon (nommé doublon2 d'un autre mot), le MSgbox apparaît également, et remplace ce doublon2 par le doublon d'origine et alors boucle sans fin (CTRL+ALT+SUPPR......) Ne vaut-il mieux pas remplacer :
If ancien <> "" Then Target = ancien par Target = ancien
Amicalement
On 5 fév, 11:13, JeNeVois wrote:
Bonjour,
j'aimerais dans une procédure "Worksheet_change" pouvoir annuler l'action précédente en fonction du "target", analogue à l'annulation manuelle dans "Edition", mais là j'ai un blanc...
Merci pour toute réponse
Salutations Bonjour,
http://cjoint.com/?cflGIW4nMt
Doublons interdits à la saisie. On restitue l'ancienne valeur si doublon détecté.
Dim ancien Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 And Target.Count = 1 Then If Application.CountIf([A:A], Target) > 1 And Target <> "" Then MsgBox "Doublon" If ancien <> "" Then Target = ancien End If End If End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) ancien = Target End Sub
Cordialement JB
JB
On 5 fév, 18:17, cousinhub wrote:
BonjourJB, Je viens d'essayer tes codes et je me suis aperçu qu'il y avait un petit souci. Si on entre 2 fois le même mot dans la colonne A (vide au préalable), le Msgbox "doublon" apparaît bien, mais n'interdit pas la saisie. Si ensuite, on remplace ce doublon par un autre doublon (nommé doublon2 d'un autre mot), le MSgbox apparaît également, et remplace ce doublon2 par le doublon d'origine et alors boucle sans fin (CTRL+ALT+SUPPR......) Ne vaut-il mieux pas remplacer :
If ancien <> "" Then Target = ancien par Target = ancien
Amicalement
On 5 fév, 11:13, JeNeVois wrote:
Bonjour,
j'aimerais dans une procédure "Worksheet_change" pouvoir annuler l'action précédente en fonction du "target", analogue à l'annulation manuelle dans "Edition", mais là j'ai un blanc...
Merci pour toute réponse
Salutations Bonjour,
http://cjoint.com/?cflGIW4nMt
Doublons interdits à la saisie. On restitue l'ancienne valeur si doublon détecté.
Dim ancien Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 And Target.Count = 1 Then If Application.CountIf([A:A], Target) > 1 And Target <> "" Then MsgBox "Doublon" If ancien <> "" Then Target = ancien End If End If End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) ancien = Target End Sub
CordialementJB- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonsoir,
Si on modifie une cellule dès le chargement du classeur sans positionner le curseur sur la cellule, la variable ancien est vide.
Essai avec mémorisation de l'ancienne valeur dans un nom.
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 And Target.Count = 1 Then If Application.CountIf([A:A], Target) > 1 And Target <> "" Then MsgBox "Doublon" Target = [mémo] End If End If End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column = 1 And Target.Count = 1 Then ActiveWorkbook.Names.Add Name:="mémo", RefersToR1C1:="=" & Chr( 34) & Target.Value & Chr(34) End If End Sub
http://cjoint.com/?cfx2CphxMt
JB
On 5 fév, 18:17, cousinhub <pmcs...@aol.com> wrote:
BonjourJB,
Je viens d'essayer tes codes et je me suis aperçu qu'il y avait un petit
souci.
Si on entre 2 fois le même mot dans la colonne A (vide au préalable), le
Msgbox "doublon" apparaît bien, mais n'interdit pas la saisie.
Si ensuite, on remplace ce doublon par un autre doublon (nommé doublon2
d'un autre mot), le MSgbox apparaît également, et remplace ce doublon2
par le doublon d'origine et alors boucle sans fin (CTRL+ALT+SUPPR......)
Ne vaut-il mieux pas remplacer :
If ancien <> "" Then Target = ancien
par Target = ancien
Amicalement
On 5 fév, 11:13, JeNeVois <JeNeV...@discussions.microsoft.com> wrote:
Bonjour,
j'aimerais dans une procédure "Worksheet_change"
pouvoir annuler l'action précédente en fonction
du "target", analogue à l'annulation manuelle
dans "Edition", mais là j'ai un blanc...
Merci pour toute réponse
Salutations
Bonjour,
http://cjoint.com/?cflGIW4nMt
Doublons interdits à la saisie. On restitue l'ancienne valeur si
doublon détecté.
Dim ancien
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 Then
If Application.CountIf([A:A], Target) > 1 And Target <> "" Then
MsgBox "Doublon"
If ancien <> "" Then Target = ancien
End If
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ancien = Target
End Sub
CordialementJB- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonsoir,
Si on modifie une cellule dès le chargement du classeur sans
positionner le curseur sur la cellule, la variable ancien est vide.
Essai avec mémorisation de l'ancienne valeur dans un nom.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 Then
If Application.CountIf([A:A], Target) > 1 And Target <> "" Then
MsgBox "Doublon"
Target = [mémo]
End If
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 Then
ActiveWorkbook.Names.Add Name:="mémo", RefersToR1C1:="=" & Chr( 34)
& Target.Value & Chr(34)
End If
End Sub
BonjourJB, Je viens d'essayer tes codes et je me suis aperçu qu'il y avait un petit souci. Si on entre 2 fois le même mot dans la colonne A (vide au préalable), le Msgbox "doublon" apparaît bien, mais n'interdit pas la saisie. Si ensuite, on remplace ce doublon par un autre doublon (nommé doublon2 d'un autre mot), le MSgbox apparaît également, et remplace ce doublon2 par le doublon d'origine et alors boucle sans fin (CTRL+ALT+SUPPR......) Ne vaut-il mieux pas remplacer :
If ancien <> "" Then Target = ancien par Target = ancien
Amicalement
On 5 fév, 11:13, JeNeVois wrote:
Bonjour,
j'aimerais dans une procédure "Worksheet_change" pouvoir annuler l'action précédente en fonction du "target", analogue à l'annulation manuelle dans "Edition", mais là j'ai un blanc...
Merci pour toute réponse
Salutations Bonjour,
http://cjoint.com/?cflGIW4nMt
Doublons interdits à la saisie. On restitue l'ancienne valeur si doublon détecté.
Dim ancien Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 And Target.Count = 1 Then If Application.CountIf([A:A], Target) > 1 And Target <> "" Then MsgBox "Doublon" If ancien <> "" Then Target = ancien End If End If End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) ancien = Target End Sub
CordialementJB- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonsoir,
Si on modifie une cellule dès le chargement du classeur sans positionner le curseur sur la cellule, la variable ancien est vide.
Essai avec mémorisation de l'ancienne valeur dans un nom.
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 And Target.Count = 1 Then If Application.CountIf([A:A], Target) > 1 And Target <> "" Then MsgBox "Doublon" Target = [mémo] End If End If End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column = 1 And Target.Count = 1 Then ActiveWorkbook.Names.Add Name:="mémo", RefersToR1C1:="=" & Chr( 34) & Target.Value & Chr(34) End If End Sub