IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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 :

localiser une chaine de caratere dans un fichier Excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 209
    Par défaut localiser une chaine de caratere dans un fichier Excel
    Bonsoir a tous,

    J'ai un fichier excel Test qui contient trois chaines de caracteres. "dog" dans la cellule A2. "cat" dans la cellule B3 et "cola" dans C5.

    J'aimerais ecrire une macro qui permet de remplacer les chaines de caracteres par des nombres. (Par ex. remplacer dog par 1, cat par 2 et cola par 3).

    le souci c'est qu'il faut d'abord reperer ces mots, je suppose que je ne connais pas leurs coordonnees d'avance ..

    Si vous aviez des idees je suis preneur.

    PS: desole pour les accents. Je suis sur un clavier francophobe.

    merci

  2. #2
    Membre éprouvé Avatar de Vadorblanc
    Profil pro
    Inscrit en
    Février 2008
    Messages
    309
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 309
    Par défaut
    Bonjour
    Essaie ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub Macro1()
     
        Cells.Replace What:="dog", Replacement:="1", LookAt:=xlPart, SearchOrder _
            :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
        Cells.Replace What:="Cat", Replacement:="2", LookAt:=xlPart, SearchOrder _
            :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
        Cells.Replace What:="Cola", Replacement:="3", LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
    End Sub
    Cordialement

  3. #3
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("NomDeTaFeuille").UsedRange.Replace "Cat", 2

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 209
    Par défaut
    Merci beaucoup de votre aide, sinon vous connaissez un moyen pour trouver les coordonnees du mot "dog" ?


    un truc du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    row_dog= Sheets("").UsedRange.find("dog").Row
    column_dog= Sheets("").UsedRange.find("dog").column
    je ne sais pas trop si y a une fonction de ce genre,


    cordialement

  5. #5
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    F1 sur Find, tu auras un exemple explicite:
    ci joint adaptation
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim c As Range
    Dim PremAdr As String
     
    Set c = Sheets("Feuil1").UsedRange.Find("dog", LookIn:=xlValues, lookat:=xlWhole)
    If Not c Is Nothing Then
       PremAdr = c.Address
       Do
          Set c = Sheets("Feuil1").UsedRange.FindNext(c)
          MsgBox "Adresse: " & c.Address & vbCrLf & "Ligne: " & c.Row & vbCrLf & "Colonne: " & c.Column
       Loop While Not c Is Nothing And c.Address <> PremAdr
    End If

Discussions similaires

  1. Copier une chaine de carateres dans un fichier
    Par almaje dans le forum Général Python
    Réponses: 7
    Dernier message: 31/10/2012, 13h10
  2. Ecrire une chaine de caractère dans un fichier excel
    Par Wassim123 dans le forum MATLAB
    Réponses: 2
    Dernier message: 05/05/2008, 10h42
  3. [VB]Recherche d'une chaine de caractère dans un fichier
    Par Empty_body dans le forum VB 6 et antérieur
    Réponses: 26
    Dernier message: 16/02/2006, 09h10
  4. Ecriture d'une chaine de caractères dans un fichier
    Par fleur_de_rose dans le forum MFC
    Réponses: 6
    Dernier message: 10/02/2006, 09h34
  5. Réponses: 7
    Dernier message: 27/09/2005, 11h54

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