Pb parcours chaine vba

Résolu/Fermé
niny@ Messages postés 107 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 16 septembre 2008 - 3 avril 2008 à 11:04
niny@ Messages postés 107 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 16 septembre 2008 - 3 avril 2008 à 11:18
Bonjour,

j'ai un soucis sur le parcours d'une chaine de caractère. concrétement j'ai un fichier excel qui dans certaines cellules posséde la chaine suivante :

opt__|INST?|cal!|ID#

dans mon programme situé sur un autre fichier xls2, je créer des labels dynamiques qui doivent recevoir la valeur du cal s'il y en a un. c'est à dire si aprés "!" il y a autre chose que "|".

mon pb est que cette chaine varie en taille vu que toutes les autres données peuvent être renseignées elles aussi, j'ai donc utilisé un instr pour avoir la bonne position. mais je n'arrive pas à récupérer la valeur est la mettre dans mon label qui se trouve sur le userform fichier xls2

voici ou j'ai essayé de mettre ma récupération de valeur mais sans succés un peu d'aide serait la bienvenue :
With label_cal
.Left = (36 + EspaceX) * (col - 1) + 13
.Top = (36 + EspaceY) * (lig - 1) + 33
.Height = 12
.Width = 15
.Font.Size = 7
End With

merci

1 réponse

niny@ Messages postés 107 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 16 septembre 2008
3 avril 2008 à 11:18
c'est bon en fait j'ai trouvé voici mon code pour ceux qui auront le même pb :

With label_cal
.Left = (36 + EspaceX) * (col - 1) + 13
.Top = (36 + EspaceY) * (lig - 1) + 33
.Height = 12
.Width = 15
.Font.Size = 7
var = InStr(1, Cells(lig, col).Value, "!")
var = var + 1
If Mid(Cells(lig, col).Value, var, 1) <> "|" Then
label_cal.Caption = Mid(Cells(lig, col).Value, var, 2)
Else
label_cal.Caption = ""
End If
End With

bon aprés je promet rien sur la qualité du prog mais ca marche chez moi
0