Retranscrire règles sur macro

Bonjour,

Je souhaiterai retranscrire une règle via une macro.

J'ai dans mon fichier une colonne P qui comporte les valeurs qui doivent être remplacées par ceux de la colonne R. Ce que je souhaite faire c'est que si par exemple (prenons la première ligne en exemple : "AP" de la colonne P) dans ma colonne je trouve la valeur "AP" dans une cellule, que celle-ci soit remplacée par la valeur "Applications" et ainsi de suite.

Est-il possible de ne pas avoir de deuxième feuille ou de colonne visible comportant les règles (si ça peut tenir dans une macro).

Le fichier comportant les règles se trouve en PJ.

Merci d'avance pour votre aide.

Obeida

8regles.xlsx (9.95 Ko)

Bonjour,

C'est quoi Version d'Excel : 2015 FR un MAC ?

Fournir un fichier applicatif pour tester la macro. On n'a besoin que de la colonne P...

A+

Bonjour,

A tester...

Public Sub Convert_strings()
Dim tbl As Variant, N As Long, i As Long

    With ActiveSheet
        N = .Cells(.Rows.Count, 16).End(xlUp).Row
        tbl = Application.Transpose(.Cells(16).Resize(N))
    End With

    For i = LBound(tbl) To UBound(tbl)
        Select Case True
            Case tbl(i) = "AP": tbl(i) = "Applications"
            Case tbl(i) = "CO": tbl(i) = "Comment"
            Case tbl(i) = "DF": tbl(i) = "Distinct features"
            Case tbl(i) = "GA": tbl(i) = "Guarantees"
            Case tbl(i) = "LO": tbl(i) = "Logo"
            Case tbl(i) = "OP": tbl(i) = "Options"
            Case tbl(i) = "PD": tbl(i) = "Product description"
            Case tbl(i) = "SA": tbl(i) = "Sales Argument"
            Case tbl(i) = "TD": tbl(i) = "Technical description"
            Case tbl(i) = "Text1": tbl(i) = "Name"
            Case tbl(i) Like "PI_*": tbl(i) = "Product Image"
            Case tbl(i) Like "PICT_APPLIC_GUAR*": tbl(i) = "Applications and Guarantees"
            Case tbl(i) Like "PICT_ENV*": tbl(i) = "Environnement"
            Case tbl(i) Like "PICT_GSS*": tbl(i) = "Greenstar"
            Case tbl(i) Like "PICT_PRINT_TYP*": tbl(i) = "Printing type"
            Case Else:
        End Select
    Next i

    ActiveSheet.Cells(16).Resize(N) = Application.Transpose(tbl)

End Sub

Bonjour obeida, galopin01,

Je me suis prêté à l'exercice, un code basique.... mais un pro fera certainement plus simple et plus court

Cordialement,

Edit: bonjour Jean-Eric, super ton code

Bonjour @galopin01 @Jean-Eric et @xorsankukai,

Merci @Jean-Eric et @xorsankukai pour vos codes, ça fonctionne parfaitement .

Bonne journée à vous.

Rechercher des sujets similaires à "retranscrire regles macro"