Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[VBA Excel] Utilisation de Mid(), InStrRev() etc.


Sujet :

Macros et VBA Excel

  1. #1
    Membre expert
    Avatar de annedeblois
    Femme Profil pro
    Analyste d'exploitation
    Inscrit en
    août 2005
    Messages
    1 485
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Service public

    Informations forums :
    Inscription : août 2005
    Messages : 1 485
    Points : 3 215
    Points
    3 215
    Par défaut [VBA Excel] Utilisation de Mid(), InStrRev() etc.
    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,
    Anne, citoyenne canadienne
    Informaticienne, altiste et radioamateur... bref, originale
    Lire les règles...
    Un petit rappel: Je ne réponds à aucune question technique posée par MP

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2003
    Messages : 14 008
    Points : 20 008
    Points
    20 008
    Par défaut
    par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Range("A" & i).Value = Left(Range("A" & i).Value, InStrRev(Range("A" & i).Value, ".") - 1)
    pour prendre les cacatéres de gauche ...

  3. #3
    Membre expert
    Avatar de annedeblois
    Femme Profil pro
    Analyste d'exploitation
    Inscrit en
    août 2005
    Messages
    1 485
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Service public

    Informations forums :
    Inscription : août 2005
    Messages : 1 485
    Points : 3 215
    Points
    3 215
    Par défaut
    Merci beaucoup, ça marche
    Anne, citoyenne canadienne
    Informaticienne, altiste et radioamateur... bref, originale
    Lire les règles...
    Un petit rappel: Je ne réponds à aucune question technique posée par MP

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBA/Excel] Utilisation de FileDialog(msoFileDialogSaveAs)
    Par daniel_gre dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/09/2008, 12h41
  2. [VBA excel] utilisation de CTRL + ESPACE
    Par Zetophe dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/02/2008, 08h16
  3. VBA Excel : utiliser la Liaison Série
    Par bbkenny dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/08/2007, 20h28
  4. [VBA-EXCEL] Utiliser la fonction recherche
    Par plasticgoat dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 15/02/2007, 16h06
  5. [vba excel] Utilisation de .borders
    Par steps5ive dans le forum Access
    Réponses: 3
    Dernier message: 22/09/2005, 16h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo