Probleme avec Select Case [Résolu]

Signaler
Messages postés
280
Date d'inscription
mardi 19 février 2008
Statut
Membre
Dernière intervention
22 février 2021
-
Messages postés
14289
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
23 février 2021
-
Bonjour, j'essaie d'utiliser Select Case et je n'y arrive pas; pourtant je suis persuadé que ce serait mieux de l'utiliser dans mon cas que une serie de SI.
D'un côté j'ai une série de localités (10) et selon la localité sélectionnée par liste déroulante dans une cellule, je dois inscrire une référence dans une autre cellule.
Explication : en B3 j'ai ma série de localités que je sélectionne selon une liste déroulante.
en H10, je dois inscrire une référence ayant rapport avec la sélection de B3.
en fait il s'agit des trois premières lettres de la localité devant servir dans une numérotation de facture.
soit en B3 je sélectionne "Aywaille" et je veux en H10 "AYW" (en majuscules)
merci de votre aide.
J'essaie Select case, mais je n'y arrive pas.

2 réponses

Messages postés
12247
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
10 février 2021
2 573
Bonjour,

1- une formule suffirait largement :
=MAJUSCULE(GAUCHE(B3;3))


2- Cette formule, en VBA :
Macro à inscrire dans le module de la feuille concernée (depuis la feuille, clic droit sur l'onglet / visualiser le code / Copier-coller).
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$B$3" Then
        If Len(Target.Value) > 2 Then
            Range("H10") = UCase(Left$(Target.Value, 3))
        End If
    End If
End Sub

3- Un exemple de Select Case adapté à ta demande :
Sub EssaiSelectCase()
    Select Case  Worksheets("Feuil1").Range("B3").Value
        Case "Aywaille"
            Worksheets("Feuil1").Range("H10").Value = "AYW"
        Case "Machin"
            Worksheets("Feuil1").Range("H10").Value = "MAC"
        Case "Truc"
            Worksheets("Feuil1").Range("H10").Value = "TRU"
        Case "Bidule"
            Worksheets("Feuil1").Range("H10").Value = "BID"
        Case Else
            Worksheets("Feuil1").Range("H10").Value = "ERREUR FATALE"
    End Select
End Sub

Cordialement,
Franck
Merci beaucoup, je vais essayer cela cet après midi.
Après avoir envoyé ma demande j'avais en effet pense à la formule.mais le problème est que ces trois lettres doivent précéder une numérotation ( AYW-123) et avec incrément action.
Avec la formule, ça ne marchait pas.
Merci de ton aide.
Messages postés
14289
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
23 février 2021
804
bonjour, peux-tu donner suite, ou marquer comme résolu?