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 :

petite aide pour améliorer ma macro [XL-97]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 360
    Par défaut petite aide pour améliorer ma macro
    Bonjour a tous

    voila grace a un tuto de se forum, j'ai pu commencer a metre au poin une petite macro qui sert a remplacer dans des chaine de caractaire sertain caractaire par d'otre

    voici 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
    16
     
        For i = 4 To 502
     
           Range("H" & i).Select
           chaine = ActiveCell.FormulaR1C1
     
    '      ActiveCell.FormulaR1C1 = Replace(chaine, ".", ",", , , vbTextCompare)
           ActiveCell.FormulaR1C1 = Replace(chaine, ",", ".", , , vbTextCompare)
     
           Range("E" & i).Select
           chaine = ActiveCell.FormulaR1C1
     
    '      ActiveCell.FormulaR1C1 = Replace(chaine, " ", "'", , , vbTextCompare)
           ActiveCell.FormulaR1C1 = Replace(chaine, "'", " ", , , vbTextCompare)
     
        Next i
    comme vous pouvez le voir dans les colomne E je remplace les ' par des espace
    et dans la H des , par des .

    je voudré amélioré cette macro de fason a se que dans les colones E, je suis remplacer les " aussi par des espaces

    mais le code suivan ne marche pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ActiveCell.FormulaR1C1 = Replace(chaine, """, " ", , , vbTextCompare)
    sa aurai été trop facil ^^

    vous avais des sugjestions?

    apres j'aimeré aussi pouvoir obtimisé la boucle
    comment faire pour aller jusqua a la fin de mon fichier XLS?
    pasque ojourdui il y a 502 ligne
    mais demain il peu y en avoir 14 comme 500000

    y a t il une solution a se petit probleme??


    merci d'avance pour vos solution

  2. #2
    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
    Si dans tes colonne E et H, tu n'as que des valeurs et non des formules
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    With Columns("E:E")
        .Replace "'", " "
        .Replace """", " "
    End With
    Columns("H:H").Replace ",", "."

  3. #3
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 360
    Par défaut
    je pense que j'ai du mal interprété ta réponce car sa ne marche pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
         With Columns("H:H")
            ActiveCell.FormulaR1C1 = Replace(chaine, ".", ",", , , vbTextCompare)
         End With
    Quand j'exécute se code, tous les point qui se trouve dans la colomne H reste des point.

    Le comtenu de mes cellule sont des adresse pour les colomne E et des num de tel pour la colomn H

    Je n'est aucune formule dans toute la page

  4. #4
    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
    en colonne E tu veux remplacer les ' et les " par un espace et en colonne H tu veux remplacer les . par les ,
    c'est ça?
    pourquoi donc tu as ajouté l'activecell formular1c1....

    recopie ce code comme il est et teste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    With Columns("E:E")
        .Replace "'", " "   'remplace l'apostrophe par un espace
        .Replace """", " "  'remplace les guillemets par un expace
    End With
    Columns("H:H").Replace ".", "," 'remplace les points par les virgules

  5. #5
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 360
    Par défaut
    J'avais rajouté activecell formular1c1.... car jusqu'a present, sans lui mon code ne marché pas

    je vien de tester le code tel quel et il marche niquel (en réaliter je remplace les virgule par des points pour la colomne E mais pour se genre de modif s'est dans mes cordes ^^)

    merci a vous deux

    ha tien j'aurai une autre petite question

    c'est possible de suprimé une ligne??
    je veus pas dire metre tous les champs vide, je veu vraiment suprimer les 3 premiere ligne et donc la 4eme deviendré la 1ere ....

    c'est possible?? merci davance

  6. #6
    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
    Rows(1 & ":" & 3).Delete

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

Discussions similaires

  1. Recherche de l'aide pour améliorer une macro excel
    Par Yul80 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 30/09/2008, 10h21
  2. une toute petits aide pour finaliser tout sa
    Par yoan_111 dans le forum ASP
    Réponses: 6
    Dernier message: 16/12/2005, 16h04
  3. Besoin d'aide pour amélioration de regxp
    Par shinux2004 dans le forum Langage
    Réponses: 10
    Dernier message: 03/09/2005, 16h16
  4. Petite aide pour gros problème : libstdc++
    Par Info-Rital dans le forum Linux
    Réponses: 5
    Dernier message: 30/08/2004, 19h17
  5. Une petite aide pour les API ?
    Par Yop dans le forum Windows
    Réponses: 2
    Dernier message: 04/04/2002, 21h45

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