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

  1. #1
    Membre régulier
    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
    Points : 78
    Points
    78
    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 expérimenté 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
    Points : 1 482
    Points
    1 482
    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
    ! Quand tu es arrivé au sommet de la montagne, continue de grimper !

  3. #3
    Expert éminent sénior 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
    Points : 31 877
    Points
    31 877
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("NomDeTaFeuille").UsedRange.Replace "Cat", 2
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  4. #4
    Membre régulier
    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
    Points : 78
    Points
    78
    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 sénior 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
    Points : 31 877
    Points
    31 877
    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
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

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