Probleme avec Select Case

Résolu/Fermé
simkmil Messages postés 427 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 20 février 2024 - 26 janv. 2021 à 10:54
yg_be Messages postés 22483 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 février 2024 - 8 févr. 2021 à 21:35
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

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 742
Modifié le 26 janv. 2021 à 11:10
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
1
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.
0
yg_be Messages postés 22483 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 février 2024 1 445
8 févr. 2021 à 21:35
bonjour, peux-tu donner suite, ou marquer comme résolu?
0