Probleme avec Select Case

Résolu
simkmil Messages postés 481 Date d'inscription   Statut Membre Dernière intervention   -  
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   -
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   Statut Modérateur Dernière intervention   2 759
 
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

1
Simkmil
 
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 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
bonjour, peux-tu donner suite, ou marquer comme résolu?
0