Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro pour remplacer caractères

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Chris57

XLDnaute Occasionnel
Bonsoir à tous,

je cherche un moyen pour repérer dans un programme les lignes de type :
<pos x="218" y="70"/>
ou
<pos x="1588" y="155"/>

puis extraire les coordonnées x (c'est à dire 218 et 1588 pour l'exemple).
Ensuite il faudrait que je puisse ajouter à ces coordonnées x le chiffre 423 et les remplacer par le résultat.

ce qui donnerai :
<pos x="641" y="70"/>
ou
<pos x="2011" y="155"/>
 
Re : Macro pour remplacer caractères

Bonjour Chris57
C'eût été plus clair avec un petit classeur de démonstration. Voilà toutefois un point de départ :
Code:
[COLOR="DarkSlateGray"][B]Private Sub Test_Click()
   toto
End Sub

Private Sub toto()
Dim oCel As Range, oSpl As Variant
   For Each oCel In Range("DATA")
      If oCel.Value Like "<pos x=""*"" y=""*""/>" Then
         oSpl = Split(oCel.Value, """")
         oCel.Offset(0, 1).Value = "<pos x=""" & oSpl(1) + 423 & """ y=""" & oSpl(3) & """/>"
      Else
         oCel.Offset(0, 1).Value = oCel.Value
      End If
   Next oCel
End Sub[/B][/COLOR]
Voyez le classeur joint pour l'utilisation.​
ROGER2327
#2500
 

Pièces jointes

Re : Macro pour remplacer caractères

Suite...
A la demande générale d'un de nos amis (bonjour Paritec), je commente :
Code:
[COLOR="DarkSlateGray"][B]oCel.Value Like "<pos x=""*"" y=""*""/>"[/B][/COLOR]
renvoie :
  • VRAI si la valeur de oCel est de la forme
    Code:
    [COLOR="DarkSlateGray"][B][/B][/COLOR]<pos x="n'importe_quoi_1" y="n'importe_quoi_2"/>
  • FAUX pour toute autre valeur de oCel.
    _
    _
Code:
[COLOR="DarkSlateGray"][B]Split(oCel.Value, """")[/B][/COLOR]
découpe <pos x="n'importe_quoi_1" y="n'importe_quoi_2"/> en utilisant " comme séparateur. Les morceaux sont ici renvoyés dans le tableau oSpl et on a
Code:
[B][COLOR="DarkSlateGray"]oSpl(0) = "<pos x="
oSpl(1) = "n'importe_quoi_1"
oSpl(2) = " y="
oSpl(3) = "n'importe_quoi_2"
oSpl(4) = "/>"[/COLOR][/B]
Sachant cela, la suite semble évidente. Si ce n'est pas le cas, n'hésitez pas à le dire...​
Bonne soirée !
ROGER2327
#2507
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
1 K
D
  • Question Question
Réponses
8
Affichages
1 K
C
Réponses
19
Affichages
2 K
c3dr1k
C
G
Réponses
2
Affichages
1 K
gérard3000
G
T
Réponses
11
Affichages
8 K
T
M
Réponses
2
Affichages
958
mamarus
M
B
  • Question Question
Réponses
36
Affichages
6 K
Blueberry-60
B
C
Réponses
6
Affichages
3 K
C
B
Réponses
9
Affichages
3 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…