Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Code pour commence par

  • Initiateur de la discussion Initiateur de la discussion AKSooL
  • Date de début Date de début

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 !

AKSooL

XLDnaute Occasionnel
Bonjour tout le monde et bonne année a tous 🙂

Mon ancien code etait celui la :
If Not Intersect(Target, Range("D4😀7000")) Is Nothing Then _
If Target.Value <> "" Then If InStr(Target.Value, "DI") = 0 _
Then Target.Value = "DI " & Target.Value

En fait qd j ecrivais 09-1010 dans la cellule , il me mettait DI 09-1010

maintenant ce que je voudrais faire mais je tourne en rond et qd la cellule dans laquelle j ecris commence par 11 , il me mette SI ......

Ex: qd j ecris dans la cellule 09-1010 , dans la cellule apparait DI 09-1010
qd j ecris dans la cellule 11-1010 , dans la cellule apparait SI 11-1010

Voila , si qqun peut m aider

Merci
 
Re : Code pour commence par

Bonjour,

Ce que tu demandes est certainement possible, mais pourrais-tu
1. poster tout ton code
2. expliquer les règles qui font la différence entre DI et SI ...

A +
🙂
 
Re : Code pour commence par

Bonjour
Bonjour James007
A voir et à tester

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Intersect(Target, Range("D4:D7000")) Is Nothing Then
    If Target.Value <> "" Then
      If InStr(Target.Value, "DI") = 0 And InStr(Target.Value, "SI") = 0 Then
        If Left(Target.Text, 2) = "11" Then
          Target.Value = "SI " & Target.Value
        Else
          Target.Value = "DI " & Target.Value
        End If
      End If
    End If
  End If
End Sub

Bonne journée
 
Re : Code pour commence par

Bonjour AKSooL, James007,
Une proposition après consultation des rûnes magiques par le chaman du vilage...
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count = 1 Then
If Intersect(Target, Range("D4:D7000")) Is Nothing Or Target.Value = "" Then Exit Sub
Application.EnableEvents = False
Select Case Left(Target.Value, 2)
Case "11"
Target.Value = "SI " & Target.Value
Case Else
Target.Value = "DI " & Target.Value
End Select
Application.EnableEvents = True
End If
End Sub
Cordialement

EDIT Bonjour Banzai, je vois que tes rûnes disent la même chose : ) )
 
Re : Code pour commence par

Bonjour à tous,

Il ne reste plus, après les rûnes magiques, qu'à savoir si la Lettre D est pour les mois de 1 à 9 et la Lettre S pour les 3 suivants ... 😕

A +
🙂
 
- 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
3
Affichages
1 K
M
Réponses
4
Affichages
1 K
Marh
M
V
Réponses
17
Affichages
3 K
VBgalère
V
K
  • Question Question
Réponses
3
Affichages
1 K
K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…