XL 2019 Ajouter / Supprimer une extension à plusieurs cellules

Bastien43

XLDnaute Occasionnel
Bonjour,

Je souhaite ajouter une extension .xlsx à plusieurs noms de fichiers qui sont en colonne B. Comment faire svp ?
Si l'extension change, puis-je faire référence à la case I11 ?

De même pour supprimer l'extension notée dans la case I14, comment faire ?

Certains noms ont peut-être déjà une extension qui serait à remplacer.

Je vous remercie pour votre aide
Cordialement
Bastien
 

Pièces jointes

  • test.xlsm
    19.1 KB · Affichages: 10
Solution
Bonsoir Bastien43,
VB:
Sub Ajouter_lextension_au_nom_des_anciens_fichiers()
Dim ext$, tablo, i&
Supprimer_lextension_au_nom_des_anciens_fichiers
ext = Feuil1.[I11]
With Feuil1.UsedRange.Columns(1)
    If .Cells.Count = 1 Then Exit Sub 'sécurité
    tablo = .Value 'matrice, plus rapide
    For i = 2 To UBound(tablo)
        If tablo(i, 1) <> "" Then tablo(i, 1) = tablo(i, 1) & ext
    Next
    .Value = tablo
End With
End Sub

Sub Supprimer_lextension_au_nom_des_anciens_fichiers()
Feuil1.[A:A].Replace [I14], "", xlPart
Feuil1.[A:A].Replace ".xls", ""
End Sub

Sub Ajouter_lextension_au_nom_des_nouveaux_fichiers()
Dim ext$, tablo, i&
Supprimer_lextension_au_nom_des_anciens_fichiers
ext = Feuil1.[I11]
With Feuil1.UsedRange.Columns(2)
    If...

job75

XLDnaute Barbatruc
Bonsoir Bastien43,
VB:
Sub Ajouter_lextension_au_nom_des_anciens_fichiers()
Dim ext$, tablo, i&
Supprimer_lextension_au_nom_des_anciens_fichiers
ext = Feuil1.[I11]
With Feuil1.UsedRange.Columns(1)
    If .Cells.Count = 1 Then Exit Sub 'sécurité
    tablo = .Value 'matrice, plus rapide
    For i = 2 To UBound(tablo)
        If tablo(i, 1) <> "" Then tablo(i, 1) = tablo(i, 1) & ext
    Next
    .Value = tablo
End With
End Sub

Sub Supprimer_lextension_au_nom_des_anciens_fichiers()
Feuil1.[A:A].Replace [I14], "", xlPart
Feuil1.[A:A].Replace ".xls", ""
End Sub

Sub Ajouter_lextension_au_nom_des_nouveaux_fichiers()
Dim ext$, tablo, i&
Supprimer_lextension_au_nom_des_anciens_fichiers
ext = Feuil1.[I11]
With Feuil1.UsedRange.Columns(2)
    If .Cells.Count = 1 Then Exit Sub 'sécurité
    tablo = .Value
    For i = 2 To UBound(tablo)
        If tablo(i, 1) <> "" Then tablo(i, 1) = tablo(i, 1) & ext
    Next
    .Value = tablo
End With
End Sub

Sub Supprimer_lextension_au_nom_des_nouveaux_fichiers()
Feuil1.[B:B].Replace [I14], "", xlPart
Feuil1.[B:B].Replace ".xls", ""
End Sub
A+
 

Pièces jointes

  • test(1).xlsm
    21.7 KB · Affichages: 3

Discussions similaires

Statistiques des forums

Discussions
312 231
Messages
2 086 457
Membres
103 217
dernier inscrit
LoshR7