opération sur chaîne - VB/VBA/VBS - Programmation
Marsh Posté le 13-06-2006 à 11:36:27
blase a écrit : Bonjour, je voulais savoir si quelqu'un pouvait me dire comment il s'y prendrait en vba (sous excel) pour |
C'est le principe pour trouver les caractères en gras. En suppossant que ton texte est en "A1"
For i = 1 To Len(cells(1,1))
If Cells(1, 1).Characters(i, 1).Font.Bold Then msg = msg & Mid(cells(1,1) i, 1)
Next
MsgBox msg
Bon courage
Marsh Posté le 13-06-2006 à 11:41:53
Pardon, je me suis mal exprimé. C'était pour montrer les nombresque je devais prendre. il n'y a rien en gras dans le fichier excel. Il faudrait pouvoir supprimer toutes les lettres et les derniers chiffres à la fin pour récupérer ces deux nombres. mais merci
Marsh Posté le 13-06-2006 à 11:54:44
blase a écrit : Pardon, je me suis mal exprimé. C'était pour montrer les nombresque je devais prendre. il n'y a rien en gras dans le fichier excel. Il faudrait pouvoir supprimer toutes les lettres et les derniers chiffres à la fin pour récupérer ces deux nombres. mais merci |
...Si tu sais pas décrire la régle tu vas avoir du mal à la coder
Avant le nombre que tu cherches il n'y a que des alpha (a,b, c..z) ?
Ton nombre comprend toujours un "." ?
La taille de ton nombre est-il le même ?
enfin .. juste un peu plus de précision dans ta demande et l'espoir est permis!!
Marsh Posté le 13-06-2006 à 12:11:39
a mon avis faut se baser sur le /
et prendre 5 avant (point compris) et après jusqu'a la première lettre.
C'est ça ?
Marsh Posté le 13-06-2006 à 13:05:06
non, ca dépend de la grammaire de chaque string:
Citation : les caractères avant le nombre peut varier |
(bon, ok, c'est pas super français mais on comprend)
Marsh Posté le 13-06-2006 à 13:21:14
Se baser sur le /, trouver le caractère non numérique avant et après et lire tout ce qu'il y a entre...
Marsh Posté le 13-06-2006 à 13:36:43
scoobidoobidooooo a écrit : Se baser sur le /, trouver le caractère non numérique avant et après et lire tout ce qu'il y a entre... |
Est-ce que ca répond à ta règle !!
Private Sub CommandButton1_Click()
Dim TrouveNombre As Boolean
TrouveNombre = False
For i = 1 To Len(Cells(1, 1))
car = Mid(Cells(1, 1), i, 1)
If Asc(car) < 58 And Asc(car) > 47 Then
TrouveNombre = True
msg = msg & car
Else
If (car = "/" Or car = "." ) And TrouveNombre Then
msg = msg & car
Else
If TrouveNombre Then Exit For
End If
End If
Next
MsgBox msg
End Sub
A plus ?
Marsh Posté le 13-06-2006 à 14:13:02
|
Marsh Posté le 13-06-2006 à 15:20:15
Merci pour vos réponse, j'étais sur un autre truc. Je vais essayé et vous redis. Merci d'avance
Marsh Posté le 13-06-2006 à 16:44:45
ReplyMarsh Posté le 13-06-2006 à 17:09:33
Reply
Marsh Posté le 13-06-2006 à 11:13:48
Bonjour, je voulais savoir si quelqu'un pouvait me dire comment il s'y prendrait en vba (sous excel) pour
récupérer les deux nombres en gras en sachant que les caractères avant le nombre peut varier. exemple
HIE/RO/PQIW03.50/050N002
ou
HIE/RO/PW04.52/1244N1
Merci d'avance...