Comparaison de texte en VBA

bonjour,

ma question est la suivante:
ligne 2 : dans ma cellule "aj2" j'ai des textes ex : safety ou no safety
ligne 2 : dans ma cellule "ak2" j'ai des code ex:01 , 02 , ou 03 etc...

je desirerais que dans la colonne AK ces codes changent
par exemple "01" devient "toto" ou "02" devient "tata"

en sachant qui doit être relatif avec les textes colones AJ
EXEMPLE : si je trouve "safety" en AJ2 et qu'il y ait "01" en AK2 alors j'insère "cool"
'' '' et qu'il y ait "02 en ak2 alors j'insère "cool1"
etc...
mais si je trouve "not safety en aj2 et qu'il y ait "01 en ak2 alors j'insére "pas cool"
'' '' et qu'il y ait "02 en ak2 alors j'insère "pas cool1"

etc...
je ne trouve pas l'argumentation sous en VBA

merci de votre retour

2 réponses

  1. Bonjour

    Pour effacer depuis une certaine ligne jusqu'à l'avant-dernière :
    Sub effacer()
    dep = 7'ligne de départ à modifier selon le fichier
    Dim DLig As Long
    DLig = Range("A" & dep).End(xlDown).Row ' n° de la derniere ligne remplie
    Rows(dep & ":" & DLig - 1).Delete
    End Sub
    


    Cdlmnt
    0
    1. Bonjour

      Sub modif()
      For x = 2 to 50  'pour examiner les lignes 2 à 50, à adapter
      If range("AJ" & x)="safety" then
      If  range("AK" & x)="01" then range("AK" & x)="cool" 
      if range("AK" & x)="02" then range("AK" & x)="cool1"
      end if
      If range("AJ" & x)="no safety" then
      If  range("AK" & x)="01" then range("AK" & x)="pas cool" 
      if range("AK" & x)="02" then range("AK" & x)="pas cool1"
      end if
      next x
      end sub
      

      1
      1. bonjour

        merci de votre réponse et surtout de votre réactivité...
        est-ce qu'il y aurait la possibilité d'adapter cette argumention for ... next en DO .... LOOP

        car je connaitrais pas les n° de lignes a tester ce fichier sera extrait d'un outil et le nombre de ligne sera aléatoire.

        merci encore
        0
      2. Bonjour

        Pour boucler jusqu'à la dernière ligne remplie en colonne AJ , remplacer la ligne For par celles ci

        DLig As Long
        DLig = Range("AJ1").End(xlDown).Row ' n° de la derniere ligne remplie
        For x = 1 to Dlig

        Cdlmnt
        0
      3. merci beaucoup
        c'est super :) :) ca marche tres bien

        bonne continuation dans vos projets !!!
        0
      4. Bonjour,

        sur mon fichier excel en colonne 7 j'ai plusieur itérations de ligne avec des valeurs
        par exemple ligne 7 de la colonne 7 j'ai la valeur 1.2
        ligne 8 toujours colonne 7 j'ai la valeur 3.16 etc ... etc ...
        mon but est de garder qua la dernière valeur qui est toujours la plus haute

        ex . congrès
        col 7
        lig7 1.2
        lig8 3.16
        lig9 5.6
        lig10 9.3
        je ne voudrais garder que la ligne 10 avec la valeur 9.3 et supprime les autres

        merci beaucoup de votre retour
        0