'Version AtTheOne : Solution @Oneida avec contrôles et passage par un tableau VBA (si grand nombre de valeur à traiter
Sub TST()
     Const LgnDéb = 2, ColSce = 9, ColCbl = 2     'commence en ligne 2, colonne source "I", colonne cible "B"
     Dim Wsh As Worksheet                         'feuille source et cible
     Dim NbLgn As Long                            'nombre de lignes à traiter
     Dim Mois As Variant, An%, v$, r$             'en texte : année, valeur source, valeur retournée; En variant mois
     Dim Tablo, Tequi                             'tableau des valeurs à traiter / traitées
    
     Tequi = Array("", "11", "12", "13", "21", "22", "23", "31", "32", "33", "41", "42", "43") 'Chaînes équivalentes pour les mois (1er index=0)
    
     Set Wsh = ThisWorkbook.Worksheets(1)
    
     With Wsh
          NbLgn = .Cells(.Rows.Count, ColSce).End(xlUp).Row - LgnDéb + 1   'nb lignes à traiter
          Tablo = .Cells(LgnDéb, ColSce).Resize(NbLgn).Value2              'données source
          
          For i = 1 To UBound(Tablo, 1)                                    'boucle sur toutes les lignes à traiter
               v = Tablo(i, 1)                                             'valeur courante
               r = ""                                                      'valeur retournée si erreur
               If Len(v) = 7 Then                                          'longueur de chaîne attendue
                    An = Left(v, 4): Mois = Right(v, 2)                    'extraction Année, Mois
                    If IsNumeric(An) And IsNumeric(Mois) Then              'interprétables en nombre
                         Mois = CInt(Mois)                                 'convertion en entier
                         If Mois >= 1 And Mois <= 12 Then                  'correspond à un mois
                              r = An & Tequi(Mois)                         'valeur à retourner
                         End If
                    End If
               End If
               Tablo(i, 1) = r                                             'valeur retournée ("" si erreur)
          Next
          .Cells(LgnDéb, ColCbl).Resize(NbLgn).Value = Tablo               'affectation du résultat à la plage cible
     End With
End Sub