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 :

Chercher/remplacer via vba


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2009
    Messages : 49
    Par défaut Chercher/remplacer via vba
    Bonjour, j'ai finallement réussi complèter un document sur lequel je travaille depuis un moment mais ma compagnie m'a annoncé qu'elle ne pouvait l'accepter tant qu'il n'y aura pas de version anglaise.

    Je me suis donc mis à penser et réaliser qu'il serait bien d'avoir un bouton qui traduit tous les en-têtes de ma feuille à l'anglais ainsi que les scripts employés et le nom des boutons. Ainsi si je rempli mon rapport en français, le vendeur anglais n'a qu'a appuyer un bouton et la feuille est dans sa langue, on ne force ainsi personne vers une langue de travail et appuyons le charactère billingue de la compagnie.

    Il me semble facile de faire ceci via chercher/remplacer mais je me bute à deux endroit, je ne suis pas capable de lui donner la feuille entière comme zone de recherche (incluant le nom de la feuille) et je ne sait pas comment omettre des cellules, programmer afin qu'il passe par-dessus sans rien changer.

    Je n'inclus pas de script car le seul que j'ai réussi à faire tourner est le script exemple de l'aide de vba... la méthode me semble si abstraite...

    par exemple je voudrait qu'il trouve toutes les cellules avec les mots "horraire prévu" et qu'il les remplace par "planned schedule". Sauf dans les zone réservé au rédacteur du rapport afin qu'il ne traduise pas des portions de textes rédigé par une personne.

    merci de votre aide

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Par défaut
    Bonjour,

    Je ne comprends pas très bien ce que tu recherches. Est- ce :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    For i = 1 to 100 'pour 100 lignes
        For j = 1 to 20 'pour 20 colonnes
            If cells(i,j).value = "horaire prévu" then
                cells(i,j).value = "planned schedule"
            End if
        next
    next
    Tu définis ainsi les zones sur lesquelles tu travailles au travers de i (lignes) et j (colonnes). Si tu veux éviter les lignes 25 et 26 disons, tu peux faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    For i = 1 to 100 'pour 100 lignes
        For j = 1 to 20 'pour 20 colonnes
            If i <> 25 and i <> 26 then
            If cells(i,j).value = "horaire prévu" then
                cells(i,j).value = "planned schedule"
            End if
            End if
        next
    next
    Et hop, le tour est joué. A toi de tout adapter selon tes besoins. Il ne te reste plus qu'à créer ta macro avec tous tes remplacements dedans et à l'affecter à un bouton. Tu pourrais aussi faire d'anglais à français tant que tu y es tu aurais donc un autre bouton avec la même macro mais les remplacements "inversés".

    Pour ce qui est du nom de tes feuilles, tu peux faire dans ta macro :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim FeuilleTest As Object
      For Each FeuilleTest In Worksheets
        If FeuilleTest.Name = "Français1" Then
            FeuilleTest.Name = "English1"
        end if
      Next
    Ainsi, ta feuille nommée Français1 se transformera en English1.

    Bonne chance pour la suite !

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2009
    Messages : 49
    Par défaut
    oh wow merci, ça semble effectivement simple.

    Avant d'essayer j'entrevoi déjà un pépin, si j'ajoute des lignes après la ligne 3 par exemple et que mon en-tête est à la ligne 4 et que 5 et 6 sont réservé à l'utilisateur, lorsque j'insère des lignes les ligne 10 et 11 deviendront les lignes de l'utilisateur, plus 5 et 6.

    Y-a-t'il un moyen de "tagguer" les lignes sans rien n'y écrire?

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Par défaut
    Oula, pas vraiment clair.

    Un petit fichier d'exemple histoire d'y voir plus clair serait sympa Tu peux y mettre une feuille "avant" et une autre "après" avec des explications.

    En fait, je ne vois pas vraiment où tu veux en venir. Tu peux faire de nombreuses choses avec VBA et, si je comprends à peu près ce que tu veux, tu peux aussi le faire. Ca sera "dynamique". Tu pourras alors connaitre les lignes où tu te trouves.

    Mais bon, on reste dans l'abstrait, un exemple est toujours plus pratique surtout que je suis un peu en ce moment !

Discussions similaires

  1. chercher remplacer plusieurs mots dans word en VBA
    Par Benabdelkader dans le forum VBA Word
    Réponses: 2
    Dernier message: 11/05/2015, 15h04
  2. Réponses: 2
    Dernier message: 26/12/2013, 18h39
  3. Faire des modifs sur une sheet excel Read Only via VBA
    Par beegees dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/11/2005, 18h02
  4. Manipulation du carnet d'adresse outlook via VBA Excel?
    Par Dragon Tours dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/11/2005, 12h16
  5. Réponses: 4
    Dernier message: 13/10/2005, 14h44

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