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 :

VBA remplace sous conditions IF [XL-MAC 2016]


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    ENTRAINEUR
    Inscrit en
    Octobre 2020
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : ENTRAINEUR

    Informations forums :
    Inscription : Octobre 2020
    Messages : 10
    Points : 4
    Points
    4
    Par défaut VBA remplace sous conditions IF
    Bonjour,
    Je vous présente mon problème actuel. J'ai un tableau (T_ACTION) et je fais appel à une VBA pour remplacer des mots (ou groupe de mots) en valeur numérique.
    Je ne maîtrise que partiellement le VBA. J'ai ainsi trouvé sur le net.

    Worksheets("Calculs").Columns("J").Replace _
    What:="Jet F", Replacement:="1", _
    SearchOrder:=xlByColumns, MatchCase:=True

    Ce code fonctionne très bien pour me remplacer donc dans la colonne J tout les intitulés "Jet F" par 1.

    Mais je souhaiterai faire une petite modification. En effet en colonne "O" du même tableau j'ai des localisations de l'évènement ("9M", "6M"). Et forcement je cherche en fonction de la location en colonne O, à remplacer le texte en colonne "J" par des valeurs différentes (par exemple à remplacer "Jet F" par 1 si sur la même ligne en colonne O on trouve "9M", et par 0,5 si on trouve sur la même ligne "6M")

    Merci de votre coup de main.

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 940
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 940
    Points : 28 938
    Points
    28 938
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Proposition avec une boucle sur des variables tableaux (Array)
    Les données sont dans un tableau structuré nommé "t_Test".
    La colonne contenant les valeurs "Jet F" se nomme "Staff" et la colonne contenant soit "9m", soit "6m" se nomme "Mesure"

    Autre solution à l'aide de Power Query pour créer une nouvelle table. Plus simple à développer si les conditions sont multiples

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub t()
     Dim t1 As Variant, t2 As Variant
     Dim myTable As ListObject
     Dim e As Long
     Set myTable = Range("t_Test").ListObject
     t1 = myTable.ListColumns("Staff").DataBodyRange.Value
     t2 = myTable.ListColumns("Mesure").DataBodyRange.Value
     For e = LBound(t1) To UBound(t1)
       If t1(e, 1) = "Jet F" Then t1(e, 1) = IIf(t2(e, 1) = "9m", 1, 0.5)
     Next
     myTable.ListColumns("Staff").DataBodyRange.Value = t1
     Set myTable = Nothing
    End Sub
    Tutoriels à lire éventuellement
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Candidat au Club
    Homme Profil pro
    ENTRAINEUR
    Inscrit en
    Octobre 2020
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : ENTRAINEUR

    Informations forums :
    Inscription : Octobre 2020
    Messages : 10
    Points : 4
    Points
    4
    Par défaut Parfait
    Bonjour merci ça fonctionne parfaitement. J'ai même pu rajouter une autre recherche sur des nouveaux mots.

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

Discussions similaires

  1. [XL-2013] Code VBA pour remplacer fonction index et equiv sous condition
    Par ElBitxo dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/06/2020, 17h38
  2. VBA - average sous conditions
    Par damijoo dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 01/08/2018, 15h20
  3. VBA impression sous condition
    Par Jmila dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/12/2016, 22h15
  4. [VBA-E]executer "du code" sous conditions
    Par Echizen1 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/06/2006, 20h02
  5. [VBA-E]feuille créée sous condition
    Par Angel79 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/02/2006, 15h11

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