Caractère non admissible(RESOLUT)

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 !

chaelie2015

XLDnaute Accro
Bonjour Forum

Je souhaite a limiter la saisie dans une plage des cellules (colonne A (4)), je m’explique
Si je saisie une chaine de caractère qui contient ce « / » je souhaite avant la validation de la cellule, afficher un message « veuillez remplacer le « / » par « - » Ou bien un code qui le remplace automatiquement avant la validation de la cellule.

Salutations
 

Pièces jointes

Dernière édition:
Re : Caractère non admissible

Bonjour,

dans l'emplacement du code la feuille

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim t As Variant, d As Variant
    On Error Resume Next
    If Intersect(Target, [A4:A65536]) Is Nothing Then Exit Sub
    Set Target = Target.Cells(1, 1)    'une seule cellule
    t = Target.Value2
    If IsError(t) Then Exit Sub
    If t = "" Then Exit Sub
    d = Replace(t, "/", "-", 1, Len(t))
    Target.Value = d
End Sub
 
Re : Caractère non admissible

Bonjour,

dans l'emplacement du code la feuille

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim t As Variant, d As Variant
    On Error Resume Next
    If Intersect(Target, [A4:A65536]) Is Nothing Then Exit Sub
    Set Target = Target.Cells(1, 1)    'une seule cellule
    t = Target.Value2
    If IsError(t) Then Exit Sub
    If t = "" Then Exit Sub
    d = Replace(t, "/", "-", 1, Len(t))
    Target.Value = d
End Sub

Re
dans l'emplacement du code la feuille j’ai déjà un code
Private Sub Worksheet_Change(ByVal c As Range)
………………………….
Et je souhaite a jouté ton code
_Change(ByVal Target As Range)
Comment fair pour rassembler les variable ?
ByVal c As Range et ByVal Target As Range
Salutations
 
Re : Caractère non admissible

Re
VB:
Option Explicit
'---------------------------------------------------------------------------
'CREER UNE FEUILLE SELON UN TYPE EL SUP LA EN DOUBLE CLIC
'---------------------------------------------------------------------------
Private Sub Worksheet_Change(ByVal c As Range)
    
   
    If c.Column = 1 And c.Row > 3 And c.Value <> "" Then
        Sheets("TYPE").Copy After:=Sheets(Sheets.Count)
        On Error GoTo fin
        ActiveSheet.Name = c.Value
    End If
    Exit Sub
fin:
    Application.DisplayAlerts = False
    ActiveSheet.Delete
    Application.DisplayAlerts = True
    Sheets("ASBUILT").Activate
End Sub
 
Re : Caractère non admissible

comme ceci ça doit le faire ?

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim t As Variant, d As Variant
    On Error Resume Next
    If Intersect(Target, [A4:A65536]) Is Nothing Then Exit Sub
    Set Target = Target.Cells(1, 1)    'une seule cellule
    t = Target.Value2
    If IsError(t) Then Exit Sub
    If t = "" Then Exit Sub
    d = Replace(t, "/", "-", 1, Len(t))
    Target.Value = d
    On Error GoTo 0
    If c.Column = 1 And c.Row > 3 And c.Value <> "" Then
        Sheets("TYPE").Copy After:=Sheets(Sheets.Count)
        On Error GoTo fin
        ActiveSheet.Name = c.Value
    End If
    Exit Sub
fin:
    Application.DisplayAlerts = False
    ActiveSheet.Delete
    Application.DisplayAlerts = True
    Sheets("ASBUILT").Activate
End Sub
 
Dernière édition:
Re : Caractère non admissible

Re
merci mais j'ai un bug : variable non définie c?
voila mon souci comment insirer les deux variable c et Target dans la meme Private Sub Worksheet_Change?

Private Sub Worksheet_Change(ByVal Target As Range, ByVal c As Range)!!!!!????😕
a+
 
Dernière édition:
Re : Caractère non admissible

Re
oky 😱je ai oublié de vous donner la suite du mon code dans la même feuille:
VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal c As Range, Cancel As Boolean)
    If c.Column <> 1 Or c.Value = "" Then Exit Sub
    Application.DisplayAlerts = False
    Sheets(c(1, 1).Text).Delete
    Application.DisplayAlerts = True
    c.Delete Shift:=xlUp
    Cancel = True
End Sub
 
Re : Caractère non admissible

Bonjour, le Fil 🙂, le Forum,

Supposant que la présente discussion fait suite à celle-ci...

Code:
Option Explicit
Private Sub Worksheet_Change(ByVal c As Range)
    If c.Column = 1 And c.Row > 3 And c.Value <> "" Then
        c.Replace "/", "-", xlPart
        Sheets("TYPE").Copy After:=Sheets(Sheets.Count)
        On Error GoTo fin
        ActiveSheet.Name = c.Value
    End If
    Exit Sub
fin:
    Application.DisplayAlerts = False
    ActiveSheet.Delete
    Application.DisplayAlerts = True
    Sheets("ASBUILT").Activate
End Sub

A bientôt 🙂
 
Re : Caractère non admissible

Bonjour, le Fil 🙂, le Forum,

Supposant que la présente discussion fait suite à celle-ci...


A bientôt 🙂

Bonjour DOUBLE ZERO
Mais c'est le cas ,c'est la suite et j'ai créer une autre discussion 😕
encore une fois merci pour ( les deux codes ) et maintenant ça fonctionne parfaitement.
SALUTATIONS
 
Dernière édition:
Re : Caractère non admissible

Re
dans l'emplacement du code la feuille j’ai déjà un code
Private Sub Worksheet_Change(ByVal c As Range)
………………………….
Et je souhaite a jouté ton code
_Change(ByVal Target As Range)
Comment fair pour rassembler les variable ?
ByVal c As Range et ByVal Target As Range
Salutations

@00: désolé de ne pas avoir signalé que c’était ton code
Salutations
 
- 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

Réponses
4
Affichages
231
Réponses
4
Affichages
100
Réponses
5
Affichages
472
Retour