|
|
|
|
Bonjour,
J'ai un fichier excel dans lequel une cellule regroupe toutes mes donnees.
Je souhaiterais extraire une partie de celle-ci.
ex du contenu de la cellule :
"BLABLABLABLABLABLA <READINGS>123 456 789</READINGS> BLABLABLABLABLABLA"
La partie qui m'interresse est "123 456 789".
Quelqu'un pourrait il donner un exemple de macro a utiliser pour ne garder que les donnees comprises dans la partie <READINGS>....</READINGS>?
Configuration: Windows XP Internet Explorer 7.0
Bonjour,
Sub Macro1()
dim T
sheets("Feuil1").Activate
T = Split(Range("D1").Text, "READING", -1)
'La clé dans T(1)
T(1) = Mid(T(1), 2, 11)
End Sub
A+ PS: pour autant que le clé ai toujours la même longueur, sinon.. Sub Macro2()
dim T, D
sheets("Feuil1").Activate
T = Split(Range("D1").Text, "<", -1)
D = Split(T(1), "\>, -1)
'La clé dans D(0)
End Sub
|
Bonsoir,
|
Bonjour,
Sheets("Sheet3").Range("C2").Value = D(0)
Sinon, pour suivre la progression d'une macro... 1°) Mettre le curseur à l'intérieur de la macro. 2°) taper F8 , la macro débute, la première ligne est surlignée en jaune. ensuite à chaque fois que tu tape F8, la macro avance d'une instruction, quant une instruction à été exécutée tu peu promené la souris sur une variable et une bulle apparaît avec sa valeur, ce qui permet de vérifier. A+ PS: je vient de lire ton dernier poste (réponse) où tu dit qu'il y à de nombreux signes identique, tu peu affiner la recherche en mettant des critères plus précis tel que <READING> dans le premier test et <\READING> dans le second ensuite tu peu incérer ces formules dans une boucle For/next pour l'exécuter sur un grand nombre de cellules.
|
Run Time Error '9'
|
Fait une autre macro pour tester...
Sub Macro3()
dim Txt as string, L as long
sheets("Sheet3").Activate
Txt = Range("A1").Text
L = len(Txt) 'la longueur du texte de la cellule
End Sub
Quand la ligne en jaune est sur End Sub, met ta souris sur le L et dit-moi quel est le nombre que tu vois ? Si pas possible de lire.. Dans la fenêtre en dessous (Execution) tu tape.. Print L , et tu tape Enter |
Bonjour,
Sub Macro3()
Dim T, D
Dim i As Integer, e As Integer
Sheets("Feuil1").Activate
T = Split(Range("A1").Value, "<READINGS>", -1)
D = Split(T(1), "</READINGS>", -1)
'La clé dans D(0)
'La variable est trop longue pour l'assigner directement dans une cellule
'Max = 1024
'La découper et mettre dans plusieur cellules.
e = 1
For i = 1 To Len(D(0)) Step 1024
Cells(2 + e, 5).Value = Mid(D(0), i, 1024)
e = e + 1
Next i
End Sub
A+ |