Remplacer chaine de caractères dans une macro

GALLARDO

XLDnaute Nouveau
Bonjour,
Je ne suis pas spécialiste des macro Excel.
J'avais créé il y a 2 ans environ les commandes suivantes sur une liste exportée en texte. Sur cette liste, une cellule comportait un chemin d'accès vers un fichier (chemin en texte). Cette commande crée le lien hypertexte sur la cellule contenant le chemin d'accès. La commande s'exécute de ligne en ligne tant que des lignes existent dans le tableau (en effet, le nombre de ligne du tableau est variable d'un jour à l'autre).

Dim C As Range 'Déclaration de la variable "C".
With Worksheets("Export Actes en ligne")
For Each C In .Range("K2:K" & .Range("K65536").End(xlUp).Row)
If C <> "" Then
C.Hyperlinks.Add C, C.Value
End If
Next
End With

Aujourd'hui, le chemin d'accès qui figure dans la cellule vient d'être changé.
Le chemin indiqué était : "H:\webedit\pièce". Il est maintenant "H:\233 - Affaires\2331-Service\webedit\pièce".
Je ne peux pas intervenir sur l'export qui génère le fichier Excel. Je ne peux que corriger cela via une commande vba qui va faire l'équivalent de la commande "Remplacer". Je voudrais ajouter à ma commande ci-dessus une ligne qui fasse ce changement de texte juste avant ou après la création du lien hypertexte.
Quelle commande puis-je insérer ??
Merci de votre aide.
 

job75

XLDnaute Barbatruc
Bonjour GALLARDO,

Exécutez ce code :
Code:
Dim C As Range
With Sheets("Export Actes en ligne")
  .[K:K].Hyperlinks.Delete
  .[K:K].Replace "webedit", "233 - Affaires\2331-Service\webedit", xlPart
  For Each C In .Range("K2:K" & .Range("K65536").End(xlUp).Row)
    If C <> "" Then C.Hyperlinks.Add C, C
  Next
End With
Ensuite n'oubliez pas de supprimer la ligne du Replace (c'est la commande Remplacer d'Excel) car elle ne doit être exécutée qu'une fois.

A+
 
Dernière édition:

Discussions similaires

Réponses
9
Affichages
127

Statistiques des forums

Discussions
312 963
Messages
2 093 995
Membres
105 906
dernier inscrit
aifa