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

  • Votes
  • Date
  • Date décroissante
  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. 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
    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
    3. merci beaucoup
      c'est super :) :) ca marche tres bien

      bonne continuation dans vos projets !!!
    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
  2. 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