Dommage que je sois limitée dans le nombre de caractères à donner à mon titre, en tout cas j'espère qu'il est assez précis.

Je dispose de plus de 800 fichiers TIFF de plantes dans un dossier, chaque fichier porte le nom latin de la plante ainsi, vous l'avez deviné, que l'extension .tif.

À l'aide de la commande DOS dir > fichier.txt j'ai obtenu la liste brute et je l'ai collée dans un classeur Excel (colonne A, est-il besoin de le préciser...). Maintenant, je dois automatiser la suppression de l'extension .TIF à chacune des lignes, en utilisant VBA.

Voici le début de mon code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub TrimFile()
lastrow = Range("A65536").End(xlUp).Row
For I = 1 to lastrow
 
  Range("A" & I).Select
 
  Dim result As Boolean
  result = Range("A" & I).Value Like "*.tif"
  If result Then
 
    Range("A" & I).Value = ***c'est le code que je recherche***
 
  End If
 
Next
Je sais qu'on peut utiliser les fonctions de traitement de chaîne de caractères telles que Mid() et autres InStrRev(), mais en remplaçant l'expression entre les astérisques par cette ligne

Code : Sélectionner tout - Visualiser dans une fenêtre à part
 Range("A" & I).Value = Mid(InStrRev(Range("A" & I).Value, ".") + 1, Range("A" & I).Value)
j'obtiens une erreur VBA. Y'a quelque chose à corriger, mais quoi : :

Hélas, je suis bloquée à cet endroit... Merci à l'avance,